gRPCについて調査

gRPCとか使って、マイクロサービスを構築したかった。 調査メモ。

grpc /

grpc /

ruby と go のtutorial やって、ruby のクライアント側と、goのサーバー側立てて連絡させてみた。 tutorial 通りやれば簡単だった。

要は、同じ.protoファイルを元に、それぞれの言語毎にクラス(rubyだったら)生成して、それを普通に使えば良いって感じだった。 調べてたらめっちゃ難しそうだったけど、やってみると簡単だった。

最終的には、Railsをクライアント側にしたいので、Railsに入れてみようとしたが、libフォルダに、protoファイルから作ったクラスをおいて、必要なところでそのクラスを呼べば良いだけだった。

で、Go部分は普通にAPI作るイメージで、チュートリアル通りやればできた。

今後の流れとしては、 1. Goを触ったことないので、勉強して、GoでgRPCサーバ作る 2. Envoy を用いて、ルーティングをいい感じにできるようにする。 3. ECSにあげてみる ところまではとりあえず頑張りたい。

最初は、gRPC gateway が必要なのかなって思ってたけど、BFF構成だと、rubyはgRPC読めるし必要なさそう。