gRPC

Cloud Datastore用キャッシュパッケージの検討

現在App Engine(Standard Environment) + Go1.11環境*1でgoonというパッケージを利用し、Datastoreのデータをキャッシュしています。 goonはバックエンドとしてApp Engineのmemcache*2を使用しており、こちらがGo1.12から使えなくなってしまうので他のパッケ…

grpc-gatewayでProtocol Buffers over HTTP

grpc-gatewayを使うとgRPCサーバをRESTfulなインターフェースで叩けるようになります。 APIクライアントはswaggerから生成しても良いのですが、Goだとprotocで生成したstructをPOSTする方が依存も少なく、楽なこともあるでしょう。 ということで軽く試してみ…

gRPCでFirestoreをListenする

昨年の10月にBetaリリースされたCloud Firestoreですが、公式ライブラリによるデータのリアルタイム更新は Web(Javascript) Node.js iOS(Swift or Objective-C) Android しかサポートされていないようです。*1 GAまで待てば良いのでしょうが、今でもgRPCのLi…

grpc-web-clientをjsで試してみた

gRPC-Web: Moving past REST+JSON towards type-safe Web APIs - Improbableを見て、grpcwebを使えばgoogle.golang.org/grpc製の既存gRPCサーバがブラウザからも叩けるようになるとのことなので試してみた。 github.com サーバ側の変更点 DOC.mdにも書いてあ…

gRPCサーバのベンチマーククライアントを生成する

google.golang.org/grpcでサーバ書いたのでそろそろベンチマークしてみようと思ったらgoogle.golang.org/grpc/benchmarkという便利そうなパッケージを発見した。 早速clientをビルドしてみたけどgrpc_testingパッケージ専用だったので中のmain.goをテンプレ…