TECHNOLOGY COMPARE

gRPC / REST

「どっちが上?」ではなく、まず同じ仕事をする道具なのかを確認します。

DIRECT COMPARISON

直接比較しやすい組み合わせ

gRPCとRESTはどちらも「通信・API方式」の技術なので、同じ土俵で比較しやすい組み合わせです。

通信・API方式

gRPC

Protocol Buffersを使う高性能なRPC フレームワーク。サービス定義からクライアントとサーバーコードを生成しバイナリ通信する。

何を担当する?

サービス定義からクライアントとサーバーコードを生成しバイナリ通信する。

いつ使う?

  • 内部サービス間で型付きの高速通信とストリームを使うとき。

避けたい場面

  • ブラウザーへ人が読みやすい公開HTTP APIを直接提供するとき。
通信・API方式

REST

リソースとHTTP操作を中心にAPIを設計するアーキテクチャスタイル。識別可能なリソース、統一インターフェース、ステートレスな通信を指針にする。

何を担当する?

識別可能なリソース、統一インターフェース、ステートレスな通信を指針にする。

いつ使う?

  • 公開性とHTTPの単純さを重視するCRUD中心API。

避けたい場面

  • クライアントごとに異なる複雑なデータグラフを一度で取得したいとき。
DIRECT RELATION

RESTとgRPCはサービス間APIの契約と通信形式で比較される。識別可能なリソース、統一interface、statelessな通信を指針にする。一方、gRPCはサービス定義からクライアントとサーバーコードを生成しバイナリ通信する。