【じーあーるぴーしー】
gRPC とは?
最終更新:
💡 サービスの定義から通信コードを作り、遠隔のメソッドを呼ぶ
遠隔のサービスのメソッドを、呼び出し用コードを通じて利用するRPCフレームワーク。標準ではProtocol Buffersを使ってサービスやメッセージを定義し、HTTP/2による通信やストリーミングを扱う。
📌 このページのポイント
gRPCではどんな通信をするの?
遠隔のサービスのメソッドを、クライアントの呼び出しコードから利用するよ。標準ではProtocol Buffersで定義したメッセージをHTTP/2で送る。データ形式やコード生成が特徴だけれど、ほかのAPIより必ず高速、何倍速い、とは一律に言えない。実際のデータや処理、環境で測る必要があるんだ。
Protocol Buffersの定義から何が作られるの?
ストリーミングって?
単発のUnaryは1リクエストと1レスポンス。Server streamingは1リクエストに複数レスポンス、Client streamingは複数リクエストに1レスポンス。Bidirectional streamingは両側が独立してメッセージ列を送る方式だよ。各方向の順序は保たれるけれど、送受信が必ず交互になるわけではないんだ。
ブラウザからも同じように使える?
📖 おまけ:英語の意味
「gRPC Remote Procedure Calls」 = gRPCリモートプロシージャコール
💬 RPCは遠隔手続き呼び出し。公式FAQではgRPC Remote Procedure Callsという、名前自身を含む再帰的な表現で説明しているよ