Improbableを見て、grpcwebを使えばgoogle.golang.org/grpc製の既存gRPCサーバがブラウザからも叩けるようになるとのことなので試してみた。github.comサーバ側の変更点DOC.mdにも書いてあるようにgrpc.Serverをgrpcweb.WrappedGrpcServerに変換してhttp.ServerからServeするようにするの2点を行うだけ。}ブラウザ側の実装サンプルはTypeScriptだけど、JavaScriptでも書けるみたいなのでES6でやってみた。ts-protoc-genこれで以下のように.protoからJavaScriptの定義ファイルが生成できるようになる。\pb/*.protojs_outで生成されるのが.protoのmessage、js_service_outで生成されるのが.protoのserviceになっていた。grpc-web-client使い方はgrpc-web-clientのinvoke()に第1引数としてjs_service_outのrpc、第2引数としてリクエスト、接続先、各種コールバック関数をオブジェクトで渡す形になる。grpc-web-client");リクエストやレスポンスなどの各フィールドには基本的にgetterとsetterを通してアクセスすることになるみたい。気になるのは既存クライアントがどうなるのかというところ。grpc.DialOptionの認証情報の有無で見てみると次のような結果になった。Oつまりクライアントはgrpc.WithTransportCredentials()が必須になり、grpc.Serverのオプションに関わらずListenAndServeTLS()を使えば良いということになる。(grpc.WithInsecure()を使っていたらクライアントを直すなりサーバを分けるなりしないといけない)まとめサーバ側はけっこう簡単にブラウザ対応できるし、grpc-gatewayと比べるとproxyサーバ.protoのREST定義が不要になるので管理するものが減って少し楽になりそう。Datastore用キャッシュパッケージの検討Stackdriverの設定をterraformで管理する参加グループVimはてなブログをはじめよう!daisuzuさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。