gRPC は、RPC を実現するために Google が開発したプロトコルの1つです。現在はLinux Foundation 傘下の Cloud Native Computing Foundation(CNCF)によって、インキュベーションプロジェクトとして開発が進められています。
RPC は、Remote Procedure Call の略で、「遠隔手続き呼び出し」とも呼ばれます。ヒューレット・パッカードに買収されたアポロコンピュータ(Apollo Computer Inc.)やサン・マイクロシステムズ(Sun Microsystems)によって UNIX上に実装され、30年ほど前に流行したクライアント・サーバーモデルで利用が拡大しました。
RPC を利用すると、リモートにあるシステムでも、手元からコマンドを入力して処理を実行できます。
機種や言語が異なっていても、問題なく通信を行うことができるようになっているのが特徴です。
gRPC は、マイクロサービスアーキテクチャに最適で高速な RPC として実装されています。 デフォルトではトランスポートに HTTP/2 を利用し、構造化データをシリアル化するためには、Google が開発した Protocol Buffers を利用することが一般的です。 複数のプログラミング言語をサポートしています。
マイクロサービスアーキテクチャを採用している企業(メルカリ や Netflix 等)で利用が拡大しています。
参考リンク |
---|