GLOSSA

gRPC

じーあーるぴーしー

gRPC

一言でいうと

サービス間通信を高速・型安全に行うために設計された、Google発のRPCフレームワークのこと。

詳しい意味

gRPC は、Google が開発したオープンソースのRPC(Remote Procedure Call)フレームワークです。HTTP/2 上で動作し、データはバイナリ形式(Protocol Buffers)でやりとりします。RESTやGraphQL(人間に読める JSON)に比べて、データサイズが小さく・通信が速く・型が厳密に決まるのが特徴。サービス間通信(マイクロサービスのバックエンド間)で広く使われ、双方向ストリーミングもサポート。一方、ブラウザから直接呼び出すのは難しく、フロントエンド向けには REST/GraphQL の方が向きます。「サーバー間は gRPC、フロントとは REST/GraphQL」という併用パターンが定番です。

何に使うか

マイクロサービス間の高速・低遅延通信。サーバー間のデータ転送量が大きいシステム。複数言語で書かれたサービス間でスキーマを統一したいとき。

どんな時に出るか

「gRPC で接続」「Proto buffers のスキーマ更新」「内部はgRPC、外部はREST」といった場面で登場します。

具体例

  • マイクロサービス間は gRPC、フロントエンドからは REST という二段構成にした。
  • Proto ファイルでスキーマを共有することで、サーバーとクライアントの型ズレを防いでいる。

別名・略称

grpc(じーあーるぴーしー)Protocol Buffers(ぷろとこるばっふぁーず)protobuf(ぷろとばふ)

関連語

RESTGraphQLマイクロサービス

間違えやすい語

RESTGraphQL

初心者向けメモ

業界内で使う「専用FAX回線」のようなイメージです。同業者間(サーバー間)では「決まったフォーマット(Proto)」「専用回線(HTTP/2)」で速くデータをやりとりできる。一般客(ブラウザ)からは普通の郵便(REST)の方が使いやすい、という棲み分けです。

この説明に改善点はありますか?

この説明を修正提案する新しい用語を提案する

提案は管理者が確認した後に反映されます