『スターティングgRPC』を読んだ

#Technology

By gushernobindsme at

毎回同じ書き出しで恐縮なんですが、gRPC を雰囲気で触っている危機感があり、体系的な知識が欲しかったので本を読みました。

gRPC の本なんてきっと出てないよなあ、と思いつつ amazon を検索してみたら、技術の泉シリーズから一冊だけ出ていました。ありがとう技術書典。

構成としては、

  • 第一章:REST を引き合いに出しつつ gRPC の特徴を説明
  • 第二章:Protocol Buffer 定義の書き方を解説
  • 第三章以降:コードサンプルを見せつつ、サーバとクライアントの実装を紹介

という感じ。

第二章までの時点ですでにとても良いのだけど、第三章以降で Unary、Client Streaming、Duplex Streaming の実装がガッツリ紹介されているのがありがたかった。特に、Streaming は何度説明を読んでもいまいちわからずにいたので、具体的なユースケースがイメージできてよかったです。

サンプルコードは Go (と一部 Ruby)で書かれていて、どちらもあまり詳しくない自分にはちょっと厳しかった。が、gRPC の考え方を理解する分には特に支障なく読み進められました。

あとは、巻末の付録の「Google API に学ぶ proto スタイルガイド」も非常によかった。REST の API の設計指針みたいなやつの gRPC 版ってないのかなあ、とネットをうろうろすることが多かったんだけど、これからはコイツが灯台になってくれそう。

読書メモはこんな感じ。Go のお勉強はまた今度でいいかな…という感じだったため、実装に関する話はまるっと端折ってます。同じ内容を Rust で実装するとどうなるかやってみたい。が、まあ、それはまたの機会に……。

gRPC についてある程度まとまった情報が欲しい、という人は買ってみるといいんじゃないでしょうか。