Skip to Content
gRPC:アップ・アンド・ランニング
book

gRPC:アップ・アンド・ランニング

by Kasun Indrasiri, Danesh Kuruppu
March 2025
Intermediate to advanced
204 pages
2h 54m
Japanese
O'Reilly Media, Inc.
Book available
Content preview from gRPC:アップ・アンド・ランニング

第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 を参照)。

例7-1. Goを使ったgRPCサーバ側のテスト
func TestServer_AddProduct(t *testing.T) { 1
	grpcServer := initGRPCServerHTTP2() 2
	conn, err := grpc.Dial(address, grpc.WithInsecure()) 3
	if err != nil {

           grpcServer.Stop()
           t
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

ネットワークとKubernetes

ネットワークとKubernetes

James Strong, Vallery Lancey
アルゴリズムクイックリファレンス 第2版

アルゴリズムクイックリファレンス 第2版

George T. Heineman, Gary Pollice, Stanley Selkow, 黒川 利明, 黒川 洋
Kubernetesベストプラクティス第2版

Kubernetesベストプラクティス第2版

Brendan Burns, Eddie Villalba, Dave Strebel, Lachlan Evenson

Publisher Resources

ISBN: 9798341626706Supplemental Content