過去問ドリル

LinuCレベル4 システムアーキテクト システムアーキテクチャ 問21

システムアーキテクチャ/柔軟性を高めるアーキテクチャパターン

マイクロサービス構成の各サービスコンテナの隣にサイドカーコンテナを配置し、サービス間通信の再試行・タイムアウト・サーキットブレーカーをサイドカーに委ねる設計を検討している。この設計の主な効果として最も適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「システムアーキテクチャ」に対応。実際の試験問題ではありません)

正解:A

解説

サイドカーパターンは、再試行・タイムアウト・サーキットブレーカーなどの横断的な通信制御機能をアプリケーションコードから切り離して別プロセスに担わせます。これにより各サービスは業務ロジックのみに集中でき、共通機能をサイドカー側だけで一元管理・更新できます。サイドカーはアプリと別コンテナ・別プロセスとして動作し、ローカルネットワーク経由で通信します。プロトコルの自動変換はサイドカーパターンの本質的な効果ではありません。サイドカーが証明書管理を引き受けることでアプリ側の実装は簡素化されます。

選択肢ごとの解説

  • A正しい。回復ロジックをサイドカーへ移すことで、各サービスのコードは業務ロジックに集中でき、横断的な通信制御の変更もサイドカー側だけで行えます。
  • B誤り。サイドカーはアプリと同じプロセスではなく、別コンテナ・別プロセスとして動作し、ループバック越しにアプリと通信します。
  • C誤り。プロトコルの自動変換はサイドカーパターンの標準的な効果ではなく、特定のプロキシ実装が持つ付加機能です。
  • D誤り。サイドカーが証明書管理を引き受けることで、アプリ側の証明書取得・更新処理が不要になりコードは簡素化されます。
LinuCレベル4 システムアーキテクトの問題を演習モードで解く