近年の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 を使い、マイクロサービス間通信で広く使われているのはどれか。
- REST
- GraphQL
- gRPC
- SOAP
こたえを見る
正解: 3. gRPC
gRPCはGoogle発のRPCフレームワーク。HTTP/2 によるストリーミング・多重化と、Protocol Buffersによるバイナリシリアライズで、JSONベースのRESTより高速・効率的です。マイクロサービス間通信で広く採用されています。