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:アップ・アンド・ランニング

第2章. gRPCを始めよう

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

第 1 章で学んだことを応用して、実際の gRPC アプリケーションを一から構築してみよう。この章では、GoとJavaの両方を使用して、簡単なgRPCサービスと、開発したサービスを呼び出すクライアント・アプリケーションを構築する。その過程で、プロトコル・バッファを使った gRPC サービス定義の指定、サーバ・スケルトンとクライアント・スタブの生成、サービスのビジネス・ロジックの実装、実装したサービスを使った gRPC サーバの実行、gRPC クライアント・アプリケーションを使ったサービスの呼び出しについて学ぶ。

ここでは、第1章と同じオンライン小売システムを使い、小売店の商品管理を担当するサービスを構築する必要がある。このサービスはリモートからアクセスすることができ、サービスのコンシューマは本番システムに新しい商品を追加したり、商品IDを提供することでシステムから商品の詳細を取得したりすることができる。このサービスとコンシューマは、gRPCを使ってモデル化する。gRPCを実装するプログラミング言語は自由だが、この章ではGo言語とJava言語の両方を使ってこのサンプルを実装する。

本書のソースコードリポジトリで、サンプルのGoとJava両方の実装を試すことができる。

図2-1ではProductInfo サービスの各メソッド呼び出しのクライアント-サーバー通信パターンを示している。サーバは、addProduct(product)getProduct(productId) の 2 つのリモート・メソッドを提供する gRPC サービスをホストしている。クライアントは、これらのリモート・メソッドのいずれかを呼び出すことができる。

client-server interaction of Product Info service
図2-1. ProductInfo サービスのクライアント-サーバー間インタラクション

ProductInfo gRPCサービスのサービス定義を作成することから、このサンプルを作り始めよう。

サービス定義の作成

第 1 章で学んだように、gRPC アプリケーションを開発する場合、まず最初に行うことはサービス・インタフェースの定義である。この定義には、コンシューマがリモート呼び出しを行うためのメソッド、これらのメソッドを呼び出す際に使用するメソッド・パラメータやメッセージ形式などが含まれる。これらのサービス定義はすべて、gRPCで使用されるインタフェース定義言語(IDL)であるプロトコル・バッファの定義として記録される。

さらに第3章では、さまざまなメッセージングパターンのサービス定義テクニックについて掘り下げていく。また、第4章ではプロトコルバッファの詳細とgRPC実装の詳細をカバーする。

サービスのビジネス機能を特定したら、ビジネスニーズを満たすサービスインタフェースを定義することができる。このサンプルでは、ProductInfo サービスの2つのリモート・メソッド(addProduct(product)getProduct(productId) )と、両方のメソッドが受け入れ、返す2つのメッセージ・タイプ(ProductProductID ...

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