REST API・WebSocket・gRPC

近年のWeb API設計の主要3方式を学びます。

近年のWebサービスを支えるAPI設計。REST・WebSocket・gRPCの違いを理解しましょう。

日野 こむぎ(普段) 日野 こむぎ

APIっていろんな種類があるの?

藤森 さやか 先生(笑顔) 藤森 さやか 先生

代表的なものを3つ覚えておいて。
REST API (HTTPベース)・WebSocket (双方向リアルタイム)・gRPC (Google発・高速) の3つよ。

青木 澪(普段) 青木 澪

RESTはWebの標準的な設計。
リソース指向でURIで「もの」を表し、GET/POST/PUT/DELETE で操作。
シンプルで広く採用されているわ。

桃井 すみれ(普段) 桃井 すみれ

WebSocketは何が違うんですかぁ?

青木 澪(普段) 青木 澪

HTTPは「クライアントがリクエスト → サーバが応答」だけだけど、WebSocketは「常時接続して双方向に送り合える」のよ。
チャットや株価表示、ゲームなど、リアルタイム性が必要な場面で使うわ。

藤森 さやか 先生(普段) 藤森 さやか 先生

gRPCはProtocol Buffers (バイナリシリアライズ) と HTTP/2 を使い、JSON-REST より高速。
マイクロサービス間通信でよく使われているの。

青木 澪(普段) 青木 澪

GraphQLも覚えておいて。
クライアントが必要なフィールドだけ取得できる設計で、RESTのオーバーフェッチ問題を解決できるのよ。

日野 こむぎ(笑い) 日野 こむぎ

用途で使い分けるってことだね!

確認クイズ

Google が開発したAPI仕様で、HTTP/2 と Protocol Buffers を使い、マイクロサービス間通信で広く使われているのはどれか。

  1. REST
  2. GraphQL
  3. gRPC
  4. SOAP
こたえを見る

正解: 3. gRPC

gRPCはGoogle発のRPCフレームワーク。HTTP/2 によるストリーミング・多重化と、Protocol Buffersによるバイナリシリアライズで、JSONベースのRESTより高速・効率的です。マイクロサービス間通信で広く採用されています。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。