gRPC (ジーアールピーシー) とは
calendar_month2020-04-01 公開 update2020-05-19 更新
HTTP2 上で RPC 通信を構築するためのオープンソースのフレームワーク。
Google が社内向けに開発していたが、オープンソース化されて、2017年に CNCF(Cloud Native Computing Foundation)に移譲された。
IDL(インターフェイス定義言語)としておもに Protocol Buffers を使用する。
リクエスト/レスポンスで使用するメッセージ型などの仕様を Protocol Buffers で定義しておけば、それをコンパイルすることで、各言語に応じたサーバ/クライアントのひな形のコードを生成できる。
C++ 、Java 、Objective-C 、Python 、Ruby 、Go 、C# などさまざまな言語に対応しており、これを利用すれば、言語や環境の違いによるコーディングの負担が低減される。
また、Protocol Buffers を使用した場合、いわゆる REST API などと比較して、高速かつ軽量な動作が期待される。
認証機能、HTTP2 による双方向ストリーミングなどの機能を持ち、マイクロサービスなどの分散システムのサービス間通信に使用されるケースが増加しているが、今後は、モバイル向けアプリケーションやブラウザなどとサーバとの通信などに使用されることも想定されている。
label 関連するタグ
