第7章 gRPCの実行 本番環境でgRPCを実行する
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
前の章では、gRPC ベースのアプリケーションの設計と開発の様々な側面に焦点を当てた。さて、いよいよ gRPC アプリケーションを実運用で実行するための詳細に飛び込む時だ。この章では、gRPC サービスとクライアントの単体テス トまたはインテグレーション・テストをどのように開発す るか、また継続的インテグレーション・ツールとどの ように統合するかについて説明する。その後、gRPCアプリケーションの継続的デプロイに移り、仮想マシン(VM)、Docker、Kubernetes上でのいくつかのデプロイパターンを検討する。最後に、gRPCアプリケーションを本番環境で演算子するためには、強固な可観測性プラットフォームが必要である。ここでは、gRPCアプリケーションのための様々な可観測性ツールについて議論し、gRPCアプリケーションのトラブルシューティングとデバッグテクニックを探求する。 これらのアプリケーションのテストから議論を始めよう。
gRPCアプリケーションをテストする
開発するソフトウェア・アプリケーション(gRPC アプリケーションを含む)には、アプリケーションに付随する単体テストが必要である。gRPC アプリケーションは常にネットワークと相互作用するため、テストはサーバ、クライアント両方の gRPC アプリケーションのネットワーク RPC 側面もカバーする必要がある。gRPCサーバのテストから始めよう。
gRPCサーバのテスト
gRPC サービスのテストは、テストケースの 一部として gRPC クライアント・アプリケーション を使用して行われることが多い。サーバ側のテストは、必要な gRPC サービスが実装された gRPC サーバを起動し、テストケースを実装したクライアント・アプリケーションを使用してサーバに接続することからなる。ProductInfo サービスの Go 実装用に書かれたテストケースのサンプルを見てみよう。Go では、gRPC テストケースの実装は、testing パッケージを使用した Go の汎用テストケースとして実装する必要がある(例 7-1 を参照)。