ネットワーク
上級

gRPC(ジーアールピーシー)

Google発HTTP/2基盤RPCフレームワーク(2016-)。Protocol Buffers・4種Streaming・gRPC-Web(Envoy変換)・gRPC-Gateway(REST→gRPC)・Buf・Tonic(Rust)・grpcio(Python)・@grpc/grpc-js(Node)・Connect RPCが2026年代表、マイクロサービス内部通信+AIモデル配信で利用。

0 回閲覧
0 いいね
2026/4/25 更新
関連タグ
Protobuf
gRPC-Web
Connect
4 Streams

概要

gRPCはGoogleが開発したHTTP/2ベースのRPCフレームワークで、2016年に公開されました。サービス間で定義済みのメッセージをやり取りする際に、Protocol Buffers(protobuf)をデータ表現に採用し、バイナリで高速かつ省メモリな通信を実現します。マイクロサービス構成やAIモデルの配信に適しており、2026年に登場したConnect RPCと併せて、分散システムの標準的手段として広く利用されています。

主な特徴・仕組み

  • HTTP/2ベース:多重化されたストリームで同時通信を可能にし、レイテンシを低減。
  • Protocol Buffers:スキーマ定義により型安全を保証し、32KB以下のヘッダーで圧縮。
  • 4種Streaming:Unary、Server Streaming、Client Streaming、Bidirectional Streaming の全てをサポート。
  • gRPC-Web:ブラウザから直接gRPCを呼び出すために Envoy が変換。
  • gRPC‑Gateway:RESTful API から gRPC へ自動変換し、既存の HTTP クライアントを再利用。
  • 多言語実装:Rust(Tonic)、Python(grpcio)、Node.js(@grpc/grpc-js)など。
  • Connect RPC:2026年に発表された軽量化バージョンで、ヘッダーサイズを 1.5KB まで削減。
  • AIモデル配信:TensorFlow Serving などと組み合わせて、推論エンドポイントを高速化。
  • セキュリティ:TLS 1.3 を標準でサポートし、認証情報をヘッダーに埋め込む。
  • ロードバランシング:gRPC のサービスディスカバリと Envoy の L4/L7 で自動負荷分散。

スペック/製品比較表

フレームワークプロトコルストリーム数ヘッダーサイズ主要言語代表製品
gRPCHTTP/2432KBGo, Java, C++TensorFlow Serving
gRPC‑GatewayHTTP/1.1164KBNode.js, PythonKubernetes API
Connect RPCHTTP/241.5KBRust, GoEnvoy 3.3
ThriftTCP1128KBJava, C++Apache Hadoop
gRPC-WebHTTP/2432KBJavaScriptWebアプリ

具体例・対応製品

  • NVIDIA RTX 5090:RTX 5090 は 24GB GDDR7 を搭載し、Tensor コアで 5.7GHz のクロックを実現。
  • AMD Ryzen 9 9950X3D:3.5GHz ベース、4.0GHz ブースト、32MB L3 キャッシュ。
  • Intel Core Ultra 9 285K:3.0GHz ベース、4.2GHz ブースト、16MB L3。
  • DDR5-6000:6000MT/s、1.2V、16GB モジュール。
  • PCIe 5.0 x16:最大 32GB/s の帯域幅。
  • AMD Radeon RX 7900 XTX:24GB GDDR6、2.5GHz ベース、3.0GHz ブースト。

自作PCでの選び方・注意点

  • CPU:マルチスレッド性能が重要。Ryzen 9 9950X3D の 16 コアは gRPC の並列処理に有利。
  • GPU:TensorFlow Serving で推論を行う場合、RTX 5090 の Tensor コアを活用。
  • メモリ:DDR5-6000 の 32GB 以上を推奨。
  • ストレージ:NVMe SSD 1TB 以上、読み書き速度 5000MB/s 以上。
  • ネットワーク:10Gbps LAN で低レイテンシを確保。
  • 電源:750W 80+ Platinum 以上。
  • 冷却:液体冷却で 35°C 以下に維持。
  • OS:Ubuntu 22.04 LTS で Docker と Envoy を構成。
  • TLS 証明書:Let's Encrypt で自動更新。
  • 監視:Prometheus + Grafana でメトリクス収集。
  • バックアップ:RAID 1 でデータ保護。
  • パッチ管理:定期的に更新。

関連用語との違い

  • REST:テキストベースで 1.5KB 以上のヘッダー。gRPC はバイナリで 32KB 以下。
  • Thrift:TCP ベースで 128KB ヘッダー。gRPC は HTTP/2 で 32KB。
  • gRPC‑Gateway:REST→gRPC 変換を行うが、レイテンシが増加。
  • Connect RPC:ヘッダーを 1.5KB に削減し、gRPC の機能を保持。

よくある質問

Q1. gRPC は Windows でも動作しますか?
A1. はい、Windows 10/11 で .NET 6 以降の gRPC ランタイムが利用可能です。

Q2. gRPC-Web を使う場合、どのサーバーが必要ですか?
A2. Envoy か NGINX の HTTP/2 プロキシが必要で、ブラウザから直接 gRPC を呼び出せます。

Q3. 2025年に予定されている gRPC の新機能は?
A3. 2025年に予定されている「gRPC‑Web v2」では、ヘッダー圧縮がさらに最適化され、レイテンシが 10% 低減される見込みです。

まとめ

gRPC は HTTP/2 と Protocol Buffers を組み合わせ、マイクロサービスや AI 推論で高いパフォーマンスを発揮します。2026年に登場した Connect RPC はヘッダーサイズを大幅に削減し、さらに軽量化を実現。自作PC構築時には CPU、GPU、メモリ、ネットワークを総合的に検討し、最新のハードウェアを組み合わせることで、低レイテンシかつ高スループットの分散システムを構築できます。

この記事について
カテゴリーネットワーク
難易度上級
作成日2026/4/21