IT用語
(
ひよぺん
)
Home
コラム
用語集
About
検索
Ctrl K
Esc
見つかりませんでした
調べたいIT用語を入力してね
gRPC
じーあーるぴーしー
プログラミング
用語集
› 💻 プログラミング › gRPC
【じーあーるぴーしー】
gRPC とは?
最終更新:
2026年3月25日
💡 マイクロサービス間の「高速通話」プロトコル
📌 このページのポイント
Protocol Buffers
(protobuf)で
スキーマ
を定義し、型安全な通信
HTTP/2
ベースで多重化・ストリーミングに対応
REST API
に比べて高速・効率的(バイナリシリアライゼーション)
多言語対応で、Go、
Java
、
Python
、
C++
等のクライアント/
サーバー
を自動生成
gRPC通信の流れ
.proto定義
service Greeter {'{'}
rpc SayHello()
{'}'}
コード生成
Go / Python
Java / C#
etc.
Service A
(gRPCクライアント)
Stub (自動生成)
Protobufシリアライズ
HTTP/2
バイナリフレーム通信
多重化 / ストリーミング
Service B
(gRPCサーバー)
サービス実装
Protobufデシリアライズ
gRPCの仕組み
ひよこ
REST API
と何が違うの?
ペンギン先生
REST
は
JSON
+
HTTP
でテキストベースの通信。gRPCはProtobuf+
HTTP/2
でバイナリベースの通信。gRPCの方が①高速(シリアライズが10倍速)、②帯域効率が良い(
バイナリ
なのでサイズが小さい)、③型安全(
スキーマ
から自動生成されたコードを使用)。
マイクロサービス
の内部通信に最適だよ
ひよこ
Protocol Buffers
って何?
ペンギン先生
Google
が開発したデータの
シリアライゼーション
形式だよ。.protoファイルで
データ構造
を定義すると、Go、
Java
、
Python
等のコードが自動生成される。
JSON
に比べてサイズが小さく、
パース
速度も高速。「message User { string name = 1; int32 age = 2; }」のように書くんだ
ひよこ
ストリーミング
って?
ペンギン先生
gRPCは4つの通信パターンに対応するよ。①Unary(1リクエスト→1レスポンス、
REST
的)、②Server streaming(1リクエスト→複数レスポンス)、③Client streaming(複数リクエスト→1レスポンス)、④Bidirectional streaming(双方向にリアルタイム通信)。
チャット
や
監視
データの配信に
ストリーミング
が活躍するんだ
ひよこ
gRPCの弱点は?
ペンギン先生
①
ブラウザ
から直接呼べない(
gRPC-Web
や
Envoy
プロキシ
が必要)、②
バイナリ
なのでcurlや
Postman
での
デバッグ
が難しい(
grpcurl
やBloomRPCを使う)、③学習コストが
REST
より高い。外部
API
には
REST
や
GraphQL
、内部サービス間通信にはgRPCという使い分けが一般的だよ
まとめ:ざっくりこれだけ覚えればOK!
「gRPC」って出てきたら「
マイクロサービス
間の高速通信
フレームワーク
」と思えればだいたいOK!
📖 おまけ:英語の意味
「gRPC Remote Procedure Call」
= gRPCリモートプロシージャコール
💬 gは最初Google、現在は再帰的にgRPCの意味。RPC(遠隔関数呼び出し)の現代版だよ
🔗 あわせて読みたい
GraphQL とは?
マイクロサービス とは?
REST API とは?
📝 この用語に関連するコラム
📝
gRPCの仕組み ― HTTP/2とProtocol Buffersで実現する高速通信
📝
シリアライズの仕組み ― オブジェクトはどうやってバイト列になるのか
📝
【図解で比較】gRPC vs REST — API通信方式の違いを徹底解説
シェアする
X
URLコピー
← 用語集にもどる