キャッチアップの温度感
gRPC 言葉は聞くけどどんな感じなのか知らなかった。
そこで、ざっくりとどんな感じなのかを知りたいと思ったわけです。
やったこと
- API定義 を Protocol Buffers で記述して 専用の GitHubリポジトリ に用意する
- Client と Server 用の GitHubリポジトリ を用意する
- Client, Server それぞれで API定義 を取得してコード生成して処理を実装する
- Server を起動して Client から処理を呼び出せることを確認する
この辺は privateリポジトリ でやってみたので、公開はしていないです。ごめんなさい。
感想
- API定義をリポジトリに切り出して共通化/参照できるのは関係者間での情報共有に良さそう
- OpenAPI でも情報共有できるはずなので優れているというわけではないでしょうけど
- API定義の管理とかその辺はまだ見えていない
- git submodule で Client, Server それぞれの GitHubリポジトリ の管理下に置くという方法も見かける
- OpenAPI と gRPC のどちらで API 実装すると良いのかという疑問を感じた
- API 設計: gRPC、OpenAPI、REST の概要と、それらを使用するタイミングを理解する という記事があるので、読んでみるとざっくりと勘所は掴めた気がする
- OpenAPI でも gRPC でもレイヤーを分けて実装しておけば、切り替えにはそんなに困らないだろうと思った
- ざっくりと gRPC どんな感じだろうということが知りたかったので、この辺まででキャッチアップはおしまい
- そういえば、 RPC のことを理解していないかも?と思ったりはした