正月で時間があったので、以前から触ってみたかったgRPCをGo言語から使い、キー・バリュー・ストアのようなものを作ってみた。 KVSといっても、GoのmapへのGet/Put/Delete/ScanをgRPC経由で叩けるようにしただけのもの。それだけだとあまり面白く無いので、gRPCらしく、Watch機能をつけてmapへの更新を監視できるようにした。 github.com 個人的には、HTTP/1.1 + JSON APIと比べた時のgRPC(HTTP/2 + ProtoBuf)のメリットや違いが気になっていたので、そのあたりを気をつけながら書いた。 開発の手順 サービス定義 まずはProtocol Buffers 3でKVSのサービスを定義する。サンプルを見ながら適当に書いた。 grpc-kvs/grpc-kvs.proto at master · matope/grpc-kvs · G
![GoとgRPCでKVS的なものを作ってみた - 小野マトペの納豆ペペロンチーノ日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/78013ede34f7652134582271ec91ec26089cdcd3/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fo%2Fono_matope%2F20160105%2F20160105002700.gif)