Open2
gRPCについて学ぶ
はじめに
gRPCについて学ぶ
公式ドキュメント
Udemy
Overview
- RPCの一種であるので、あたかも自分のローカルリソースを使うかのごとく、他マシンの関数を呼び出せる仕組み
- gRPCに対応している言語ならよしなにgRPCクライアントとgRPCサーバーを構築でき、お互いの言語を気にせずやり取りできる
- Google の APIはgRPCインターフェースを提供するので、簡単に GoogleのAPIをアプリケーションに組み込める
- デフォルトでは Interface Definition Language (IDL) としてProtocol Buffersを使う
- 他のシリアライズ形式(jsonなど)を使うことも可能ではある
Protocol Buffers
-
.proto
ファイルにシリアライズしたいデータの構造を定義して使用する。 - サービスとメッセージを定義する
- サービス: API定義のこと。RPCメソッドの定義を書く
- メッセージ: key value形式のデータ構造である
// The greeter service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
-
protoc
と呼ばれるgRPCコンパイラを使って、protoファイルから好きな言語のデータアクセス用コードを自動生成できる - proto2とproto3があるが、proto3を使っておけばOK
参考