メインコンテンツへ
ネットワークネットワーク実践

gRPCの特徴として最も正しいものはどれか。

ア.JSONテキストを使用し、REST APIと完全な互換性を持つ通信フレームワーク
イ.WebブラウザとサーバのリアルタイムWebSocket通信専用に設計されたプロトコル
ウ.Protocol BuffersとHTTP/2を使用し、高性能な双方向ストリーミングをサポートするRPCフレームワーク正解
エ.XMLとSOAPをベースにした古典的なWebサービス通信規格の最新版

解説

gRPCは「超高速・多機能な宅急便サービス」みたいなもの。普通のREST/JSONは「手書きの伝票を1枚ずつ配達」だが、gRPCは「バーコード化された荷物(Protocol Buffers)を高速コンベア(HTTP/2)で大量並列配送」。しかも双方向ストリーミングで、荷物が届いたら即座に返送荷物も送れる。マイクロサービス間通信の最強候補!

なぜ ウ が正解か

gRPCの主要特徴:①プロトコル:Protocol Buffers(protobuf)でシリアライズ(バイナリ→JSON比約5-10倍小さい)②トランスポート:HTTP/2(多重化、ヘッダ圧縮、サーバプッシュ)③通信パターン:単項RPC / サーバストリーミング / クライアントストリーミング / 双方向ストリーミング(4種類)④多言語対応:.proto定義から各言語のコードを自動生成⑤主用途:マイクロサービス間通信、モバイルバックエンド、高スループットAPI。

なぜ ア は間違いか

gRPCはJSONではなくProtocol Buffers(バイナリ)を使用。REST APIとは互換性がない(grpc-gatewayで変換は可能だが「完全な互換性」はない)。

なぜ イ は間違いか

WebSocketはブラウザとサーバのリアルタイム通信プロトコルであり、gRPCとは別物。gRPCは主にサービス間(特にマイクロサービス)通信向けで、ブラウザ対応には制約がある(grpc-webが必要)。

なぜ エ は間違いか

gRPCはGoogleが開発したモダンなフレームワーク(2016年公開)でXML/SOAPとは無関係。SOAPはMicrosoftが主導した重厚なWebサービス規格でgRPCの前身ではない。

出典: AI生成問題(学習用)