複数環境でマイクロサービスを共用するためのプロトコル非依存なコンテクスト伝播

抄録

マイクロサービスアーキテクチャに基づいて設計されたシステムでは,テスト,ステージング,デバッグ,プレビューのために本番環境を模倣した環境を複数展開する必要がある.多くの環境を展開しながらリソース消費を抑えるには,複数環境で共通するマイクロサービスを共用することが有効である.既存手法では HTTP や gRPC などのアプリケーション層プロトコルを拡張して,環境識別子を含むコンテクストを伝搬しリクエストを振り分ける.しかしマイクロサービスは MySQL,Redis,Memcached,AMQP などの他のプロトコルも利用しており,それぞれのプロトコルを拡張するためには実装に多くの労力を必要とする.本研究では,アプリケーション層プロトコルに依存せずにコンテクスト伝播とリクエスト振り分けを行うシステムを提案する.本システムは,TCP バイトストリームの先頭にコンテクストを追加することでアプリケーション層プロトコルを解釈することなくコンテクストを伝播するプロトコルと,そのプロトコルを用いてリクエストを振り分けるプロキシからなる.プロトコルはシステムへの計装を可能な限り容易にするように設計されている.本提案によってリソース使用量を削減できること,プロキシの通信遅延が実用的な範囲に収まること,アプリケーション層プロトコルに依存せずに複数環境でのマイクロサービス共用が可能であることを示した.

収録刊行物

詳細情報 詳細情報について

問題の指摘

ページトップへ