序文
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
gRPCは、分散アプリケーションやマイクロサービスを構築するための、高性能RPC(リモートプロシージャコール)に基づく最新のプロセス間通信スタイルである。マイクロサービスやクラウド・ネイティブ・アプリケーションの出現では、gRPCの採用が飛躍的に伸びている。
なぜこの本を書いたのか?
gRPC の採用が進むにつれ、開発者は gRPC に関する包括的な本、つまり gRPC アプリケーションの開発サイクルの各段階で究極のリファレンス・ガイドとして使用できる本が必要だと感じていた。gRPCに関するリソースやコード・サンプルはあちこちにある(ドキュメント、ブログ、記事、会議での講演など)が、gRPCアプリケーションを構築するために使用できる単一のリソースはない。また、gRPCプロトコルの内部や、それがフードの下でどのように動作するかについてのリソースもない。
本書は、このような課題を克服し、gRPCの基礎、従来のプロセス間通信技術との違い、実際のgRPC通信パターン、GoやJavaを使ったgRPCアプリケーションの構築方法、gRPCのアンダーグラウンドでの動作、gRPCアプリケーションの実運用方法、Kubernetesやその他のエコシステムとgRPCの連携方法などを包括的に理解できるように執筆した。
この本は誰のためのものか?
本書は、異なるプロセス間通信技術を使用して分散アプリケーションやマイクロサービスを構築している開発者に最も直接的に関連する。このようなアプリケーションやサービスを構築する場合、開発者はgRPCの基礎、いつ、どのようにサービス間通信に使用するか、本番環境でgRPCサービスを実行するためのベストプラクティスなどを学ぶ必要がある。 また、マイクロサービスやクラウドネイティブアーキテクチャを採用し、サービスがどのように通信すべきかを設計しているアーキテクトは、gRPCと他の技術を比較対照し、どのような場合に使用し、どのような場合に回避すべきかのガイドラインを提供しているため、本書から多くの知見を得ることができる。
開発者とアーキテクトの両方が、プロセス間通信テクニック、サービス指向アーキテクチャ(SOA)、マイクロサービスといった分散コンピューティングの基本を理解していることを前提としている。
本書の構成
本書は、理論的な概念を実際の使用例を用いて説明するように書かれている。本書では、GoとJavaを使ったコード例を多用し、読者が学んだ各概念を実際に体験できるようにしている。本書は8つの章で構成されている。
- 第1章gRPC入門
-
この章では、gRPCの基本を理解し、REST、GraphQL、その他のRPC技術など、同様のプロセス間通信スタイルと比較する。
- 第2章gRPCを始めよう
-
この章では、GoまたはJavaを使って完全なgRPCアプリケーションを構築する最初の実習を行う。
- 第3章gRPC通信パターン
-
この章では、実際の例を使ってgRPCの通信パターンを探る。
- 第4章gRPC:ボンネットの下
-
もしあなたが gRPC の内部を知ることに興味がある上級 gRPC ユーザなら、この章はそれらを学ぶための章である。この章では、サーバ、クライアント間のgRPC通信のすべてのステップと、それがネットワーク上でどのように動作するかを学ぶ。
- 第5章gRPC:基本を超えて
-
この章では、インターセプター、デッドライン、メタデータ、多重化、ロードバランサなど、gRPCの最も重要な高度な機能のいくつかを教えてくれる。 ...