「gRPC」と「RPC」の違い

gRPCはGoogle開発の高速通信フレームワーク、RPCは遠隔手続き呼び出しの汎用概念です。

gRPC

gRPC(gRPC Remote Procedure Call)は、Googleが開発した高性能なRPCフレームワーク。Protocol BuffersでデータをシリアライズしHTTP/2を使用。低レイテンシ・高スループット・言語非依存が特徴。マイクロサービスアーキテクチャで広く採用されています。

例:gRPCサーバーでユーザー情報取得APIを実装し、複数のマイクロサービスから高速呼び出しする。

RPC

RPC(Remote Procedure Call)は、ネットワーク上の別コンピュータのプログラムから関数を呼び出す技術の総称。XML-RPC、JSON-RPC、JavaRMIなど様々な実装形態があります。通常のローカル関数呼び出しと同じインターフェースで遠隔処理を実現する概念です。

例:JSON-RPCを使ってブロックチェーンノードに遠隔で取引データ照会リクエストを送信する。

両者の違い

RPCは遠隔関数呼び出しの概念全般を指すのに対し、gRPCはその具体的・現代的実装。使う場面として、gRPCはマイクロサービス間の高速通信に最適で、RPCは従来型の汎用遠隔通信に用いられます。ニュアンスでは、gRPCは技術仕様であり、RPCは設計パターン。対象として、gRPCは高性能が必須な大規模システム向け、RPCはシンプルな遠隔呼び出し向けです。

どちらを使うべき?判断のポイント

高性能・低遅延が必要でマイクロサービス環境ならgRPC。シンプルな遠隔呼び出しや既存システム連携ならRPC。対応言語・生態系・学習コストも考慮して選定してください。

それぞれの語をさらに詳しく

語彙の星図で「gRPC」と「RPC」のつながりを探索する →