本文へスキップ

gRPCとは?

じーあーるぴーしー

Googleが開発したオープンソースの高性能RPCフレームワークで、Protocol Buffersを使って複数の言語間で効率的なAPI通信を実現します。

gRPC(gRPC Remote Procedure Calls)は、Googleが開発しオープンソースとして公開している高性能なRPC(遠隔手続き呼び出し)フレームワークです。2016年に公開され、現在はCloud Native Computing Foundation(CNCF)のプロジェクトとして管理されています。

gRPCの最大特徴は、データのシリアライズにProtocol Buffers(protobuf)を採用している点です。JSONやXMLと比べてバイナリ形式で非常にコンパクトかつ高速にシリアライズ・デシリアライズが行えます。また、通信プロトコルにはHTTP/2を採用しており、以下の機能を活用できます。

  • ストリーミング通信(単方向・双方向)
  • 多重化によるコネクション効率の向上
  • ヘッダー圧縮による帯域の節約
  • フロー制御

gRPCでは.protoファイルにサービス定義とメッセージ構造を記述し、専用ツールでサーバー・クライアントのコードを自動生成します。Go、Java、Python、C++、Ruby、JavaScriptなど多くの言語に対応しており、マイクロサービス間の通信やモバイルアプリのバックエンド通信で広く利用されています。REST APIと比較して低レイテンシ・高スループットが求められる場面で特に有効です。

使い方・例文

マイクロサービス構成のバックエンドで、注文サービスと在庫サービスがgRPCで通信し、HTTP/2の双方向ストリームを使ってリアルタイムに在庫残数を更新するといった実装に登場します。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語