GRPC

gRPC (gRPC Remote Procedure Callshttps://grpc.io/faq#what-does-grpc-stand-for) は、オープンソースのリモートプロシージャコール (RPC) システムである。当初はGoogleによって、RPC基盤であるStubbyの次世代版として2015年に開発された。

gRPCは、HTTP/2をトランスポートとして利用し、Protocol Buffersをインタフェース記述言語およびデータエンコーディングとして利用する。提供する機能としては、認証、双方向のストリーミングとフロー制御、同期および非同期のバインディング、キャンセルとタイムアウトの対応などがある。多くの言語において、クロスプラットフォームなクライアントおよびサーバーのバインディングを生成できる。

gRPCの最も一般的な利用シナリオとしては、マイクロサービス型のアーキテクチャーにおけるサービス間の接続や、モバイルデバイスのクライアントとバックエンドサービスとの接続などが挙げられるhttps://grpc.io/about/。

なおgRPCはHTTP/2を高度に利用するため、gRPCクライアントをWebブラウザ上に直接実装することは不可能であり、他の方法で通信するためのプロキシが必要になる。grpc-webはこれを補助するためのソフトウェアであり、デフォルトのプロキシとしてenvoyを使用する。

 gRPCを利用するプロジェクトと企業 
u-bmcとFalcoFalco. Retrieved from https://falco.org/.のように、
多くの組織がgRPCを利用している。

2019年1月8日にDropboxは、次世代の「Courier」と呼ばれるSOAアーキテクチャーの核となる次世代のRPCフレームワークを発表した。CourierはgRPCベースで、既存の独自のRPCフレームワークと親和性が高いとされた。

 脚注 

 関連項目 
 遠隔手続き呼出し
 Apache Thrift
 XML-RPC

 外部リンク 
 gRPC Home Page
 gRPC – github.com
 gRPC – opensource.google.com
 Reactive gRPC

Category:プロセス間通信
Category:遠隔手続き呼出し
Category:Pythonでプログラムされた自由ソフトウェア
Category:C++でプログラムされた自由ソフトウェア