GRPC
From Wikipedia, the free encyclopedia
gRPC (gRPC Remote Procedure Calls[2]) は、オープンソースのリモートプロシージャコール (RPC) システムである。当初はGoogleによって、RPC基盤であるStubbyの次世代版として2015年に開発された。
| 開発元 | |
|---|---|
| 初版 | 2016年8月 |
| 最新版 |
1.74.1[1]
/ 2025年8月7日 |
| リポジトリ | |
| プログラミング 言語 | Android Java, C#, C++, Dart, Go, Java, Kotlin/JVM, Node.js, Objective-C, PHP, Python, Ruby |
| 種別 | リモートプロシージャコール |
| ライセンス | Apache License 2.0 |
| 公式サイト |
grpc |
gRPCは、HTTP/2をトランスポートとして利用し、Protocol Buffersをインタフェース記述言語およびデータエンコーディングとして利用する。提供する機能としては、認証、双方向のストリーミングとフロー制御、同期および非同期のバインディング、キャンセルとタイムアウトの対応などがある。多くの言語において、クロスプラットフォームなクライアントおよびサーバーのバインディングを生成できる。
gRPCの最も一般的な利用シナリオとしては、マイクロサービス型のアーキテクチャーにおけるサービス間の接続や、モバイルデバイスのクライアントとバックエンドサービスとの接続などが挙げられる[3]。
なおgRPCはHTTP/2を高度に利用するため、gRPCクライアントをWebブラウザ上に直接実装することは不可能であり、他の方法で通信するためのプロキシが必要になる。grpc-webはこれを補助するためのソフトウェアであり、デフォルトのプロキシとしてenvoyを使用する。