Upgrade to Pro — share decks privately, control downloads, hide ads and more …

gRPCについてまとめてみた

Avatar for firstclimbkazu firstclimbkazu
May 29, 2025
33

 gRPCについてまとめてみた

gRPCについてまとめてみた

Avatar for firstclimbkazu

firstclimbkazu

May 29, 2025

Transcript

  1. スライド 1: gRPC とは? Google が開発した高速・軽量な RPC(Remote Procedure Call)フレームワーク Protocol

    Buffers(protobuf)を使用したシリアライズ方式 HTTP/2 ベースの通信により効率的なデータ送受信が可能
  2. スライド 2: gRPC の特徴 HTTP/2 による多重化・双方向ストリーミング対応 Protocol Buffers による高速かつコンパクトなメッセージ形式 多言語対応(Go,

    Java, C#, Python, Node.js など) 双方向通信や非同期処理に強い RESTのようにブラウザから直接通信するのは難しいようです。 gRPC-Webというものがあるらしいが専用プロキシサーバが必要 双方向ストリーミングに制限などがある
  3. スライド 4: REST API との比較 比較項目 REST API gRPC データ形式

    JSON(テキスト) Protocol Buffers(バイナリ) 通信プロトコル HTTP/1.1 HTTP/2 パフォーマンス 比較的遅い 高速 双方向通信 サポートなし サポートあり(双方向ストリーミング) 開発の柔軟性 高い(普及している) protobuf 定義が必要
  4. スライド 5: gRPC の実装手順(例: Node.js) 1. .proto ファイルを定義する 2. Protocol

    Buffers コンパイラでコードを自動生成 3. gRPC サーバを構築(メソッド定義に応じた処理を実装) 4. gRPC クライアントを作成して通信