目標は、遅延とネットワークスループットが優れたトランスポートおよびアプリケーション層プロトコルを導入することです。現在、アプリケーションはHTTP / 1.1でRESTを使用しており、待ち時間が長くなります。このレイテンシーの問題を解決する必要があり、gRPC(HTTP / 2)またはREST / HTTP2のいずれかを使用できます。
HTTP / 2:
- 多重化
- 単一のTCP接続
- テキストではなくバイナリ
- ヘッダー圧縮
- サーバープッシュ
私は上記のすべての利点を認識しています。質問1:HTTP / 2でRESTを使用すると、HTTP / 1.1でRESTと比較するとパフォーマンスが大幅に向上すると確信していますが、これはgRPC(HTTP / 2)とどのように比較されますか?
また、gRPCがproto bufferを使用していることも認識しています。これは、ネットワーク上で構造化データを送信するための最良のバイナリシリアル化手法です。Proto Bufferは、言語にとらわれないアプローチの開発にも役立ちます。私はそれに同意し、graphQLを使用してRESTに同じ機能を実装できます。しかし、私の懸念はシリアル化に関するものです。質問2:HTTP / 2がこのバイナリ機能を実装する場合、proto bufferを使用すると、HTTP / 2に加えて追加の利点が得られますか?
質問番号:3の観点では、ストリーミング、双方向ユースケース、どのgRPCは(HTTP / 2)(RESTとHTTP / 2)と比較しますか?
非常に多くありますブログ/動画(RESTとHTTP / 1.1)でgRPC(HTTP / 2)を比較し、インターネットでのアウトは次のように、この。先に述べたように、GRPC(HTTP / 2)と(RESTとHTTP / 2)を比較することの違いと利点を知りたいと思います。