塀の備忘録

上伊那ぼたん描いてます

gRPC関連の読み物

はじめに

gRPCをゼロから学びたい人向けのドキュメント、ブックリストを備忘録的に記載しました。

適宜更新するかもしれません。

紹介一覧

公式

https://grpc.io/

基本。

スターティングgRPC

www.amazon.co.jp もともと同人誌として発行されていた書籍の商業版。

gRPCの各RPC方式を実装を交えて紹介していく形式で、gRPCサーバやクライアントの実装例がGoやRailsで掲載されています。Goでバックエンドを書いている方に特におすすめです。

RESTと比較したgRPCのpros/consも整理されていて勉強になると思います。

WEB+DB PRESS Vol.110

www.amazon.co.jp スターティングgRPCを通読する時間がない場合、入門用の読み物として先にこちらの特集を一読することをおすすめします。

具体的なプロダクトのgRPCサーバを実装していく過程が、Goの実装例を併記して紹介されています。

スターティングgRPCでは実装(呼び出し)例はあるものの説明が省略されているgRPCのGraceful shutdownに言及が(少しだけど)あったりして良いです。

gRPC Internal - gRPC の設計と内部実装から見えてくる世界

www.wantedly.com スターティングgRPCを一読した方は、gRPCの設計原則についての解説や、C-coreの説明あたりから読み進めると良いと思います。HTTP/2の勉強にもなります。

データ指向アプリケーションデザイン

www.amazon.co.jp 本書でも少しgRPCに触れています。直接的にgRPCに関連する内容としては、「4.2.2 サービス経由でのデータフロー:RESTとRPC」の一読をおすすめします。

gRPCに固有の課題ではないものの、それ以上に8章「分散システムの問題」で論じられるタイムアウトの問題などが興味深く読めるかと思います。同様の内容、つまりローカル(関数)呼び出しとは異なるリモート呼び出しの複雑さについては、Sam Newman『マイクロサービスアーキテクチャ』の4章「統合」にも記述がありますので、ぜひ併読してみてください。

gRPC: Up and Running

www.amazon.co.jp 2022年7月時点で英語でしか読めないのですが、分量も多くないので比較的読みやすい英書です。

gRPC以外の通信プロトコルについての解説も多く、Chapter7ではDockerやKubernetesへのデプロイについて記載があり、流通書籍の中では実用面において白眉だと思います。

一方、2020年に刊行された書籍であり実装例が古くなってしまっているため、その点は差し引いて読んでください。

おわりに

どれか一冊選ぶなら、とりあえずスターティングgRPCを読んでおけばいいかな……。