入門してみた記事が続いているのですが、今回は実際に仕事で検証するための第一歩としてgRPCに入門してみました。
本記事は ディップ with 全部俺 AdventCalendar 11日目の記事です。
今回はgRPCの公式からクイックスタートのGoを選んで入門してみました。
作ったプログラムは下記です。
Repository名がserverになってますが、protoフィルもclientも一緒になっています。
今回はServerもClientもgoで実装したものを使っています。
私の環境はMacなので、Mac用の担ってしまいますが、事前にインストールしないとイケないものを下記にまとめます。
$ go get -u google.golang.org/grpc $ go get -u github.com/golang/protobuf/protoc-gen-go $ brew install protobuf
.protoからgoのserviceをGenerateCommandは下記です。
protoc --go_out=plugins=grpc:. ./proto/*.proto
上記Commandでは、protoディレクトリに.protoファイルも.goファイルも格納されることとなります。
別ディレクトリで管理する場合は適宜読み替えてみてください。
本AdventCalendar中に別の言語のClientも作って通信を行ってみたいと思います。