$ go get -u google.golang.org/grpc
$ brew install protobuf
$ go get -u github.com/golang/protobuf/protoc-gen-go
いまさらだけどgRPCに入門したので分かりやすくまとめてみた
- HTTP/2をしようできる
- バイナリで通信できるので、速度が早い
- 様々な言語で通信することができる
- protoファイル作成(インターフェース実装)
- 言語用のファイル作成(Goなら
xxxx.pb.go
のファイルが出力される) - interface実装
- main.go実装
divideのサーバーにログイン
evans divide-service/dividepb/divide.proto -p 50060
sumのサーバーにログイン
evans sum-service/sumpb/sum.proto
実際に動かす
call Sum
Envoyがないと、ロードバランシングできない。
kubernetesでgRPCするときにenvoy挟んでみたよ
Envoy プロキシを使用して GKE 上で gRPC サービスの負荷分散を行う
Envoyでサービスメッシュを作ろう
npm install -g grpcc