メインコンテンツへ
開発技術開発実践

サービスメッシュ(Istioを例に)の主な機能として、最も適切なものはどれか。

ア.サービスメッシュはマイクロサービス間の通信にサイドカープロキシを挟み、アプリコードを変更せずにmTLS・サーキットブレーカー・トレーシング・トラフィック制御を提供するインフラ層の仕組みである。正解
イ.サービスメッシュはマイクロサービスのデータベースを統合管理するためのORMフレームワークで、複数DBへの接続を一元化する。
ウ.サービスメッシュはDockerコンテナをKubernetesクラスターに自動デプロイするCI/CDパイプラインの構成要素である。
エ.サービスメッシュはモノリシックアーキテクチャ専用の技術で、マイクロサービスには適用できない。

解説

サービスメッシュは「マイクロサービスの通訳・警備員・記録係を全員に自動配備する」仕組み。各サービスの横にサイドカー(補助コンテナ)を置いて、通信の暗号化・失敗時の自動リトライ・どのサービスがどこに行ったかの記録——これをアプリコードを一行も変えずに実現する。

なぜ ア が正解か

アが正解。Istioは各Podにenvoyプロキシをサイドカーとして自動挿入する。機能一覧:①mTLS(サービス間通信の暗号化・相互認証)→②サーキットブレーカー(障害の連鎖防止)→③リトライ・タイムアウト制御→④カナリアリリース(トラフィック重み付け)→⑤分散トレーシング(Jaeger等との統合)→⑥可観測性メトリクス収集。アプリ側のコード変更なしにこれらを提供する点が最大の価値。

なぜ イ は間違いか

ORM(Sequelize・Hibernate等)はコードとDBのマッピング技術。サービスメッシュはネットワーク通信レイヤーの管理であり、DB管理とは無関係。

なぜ ウ は間違いか

コンテナのKubernetes自動デプロイはCI/CDツール(ArgoCD・Tekton等)の機能。サービスメッシュはデプロイではなく、すでに動いているサービス間の通信管理。

なぜ エ は間違いか

サービスメッシュはマイクロサービスアーキテクチャのために生まれた技術。モノリスには適用しない。説明が完全に逆。

出典: AI生成問題(学習用)