FreeStyleWiki

gRPC

[ソフトウェア開発]

gRPC

  • Googleが作ったRPC(遠隔手続き呼び出し)のフレームワーク
    • 内部でprotobufを使用する
    • 通信プロトコルとしてHTTP/2を使用する
protobuf
バイナリデータのシリアライズ規格
HTTP/2
ストリームという仕組みで、クライアントとサーバの双方向で複数のリクエストとレスポンスを送受信できる

  protobuf

// 以下のようなDSLを書いてサービスとリクエスト/レスポンスを定義するみたい
message FileRequest {
    string name = 1;
    bytes data = 2;
}

message FileResponse {
    int64 size = 1;
}

service FileService {
    rpc Uplaod (stream FileRequest)
        returns (FileResponse);
}