gRPCで通信するサーバーをローカルで動かす

ローカル環境にgRPCで通信してデータのやり取りをするWebサーバーを作る。手順は次の通り。また、今回のソースコードは下記リポジトリにpushしてあります。

1. protoファイルを定義
2. protoファイルをコンパイル
3. サーバーを実装
4. grpcurlで動作確認

1. protoファイルを定義

今回は単純にid指定したUserのデータをGETするサービスを定義する。
DBから取得するわけじゃなくそれっぽいレスポンスを作るだけ。

2. protoファイルをコンパイル

1.で作成した.protoファイルをprotocでコンパイルする。
生成物は./protoの下にuser.pb.goが生成されているはず。

3. サーバーを実装

自動生成されたコードを使ってサーバーを実装していく。
今回はgRPCで通信できることを確認できれば十分なので、
Getではリクエストパラメータで渡されたidをそのままレスポンスにセットしているだけ。

4. grpcurlで動作確認

grpcurlを使ってローカルのgRPCサーバーと通信のテストをしてみる。
grpcurlは下記のリンクを参考にインストールする。
Macならbrewを使ってインストールできる。

インストールできたらサーバーを起動してリクエストを投げてみる。

下記のようなレスポンスが返ってくれば成功。


いいなと思ったら応援しよう!