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を使ってインストールできる。
インストールできたらサーバーを起動してリクエストを投げてみる。
下記のようなレスポンスが返ってくれば成功。