[解決済み] GRPCとRESTはどう違うのですか?
質問
私はこれを読んでいます GRPCの説明 を読んでいて、この図に興味を持ちました。
トランスポート層はどのように機能するのですか?ネットワーク経由なら...なぜRPCと呼ばれるのでしょうか?もっと言えば、サービス層(httpリクエストを行うメソッドを持つクライアント内のクラス)のAPIを実装しているRESTとどう違うのでしょうか?
どのように解決するのですか?
トランスポート層は、TCP/IP の上で HTTP/2 を使用して動作します。これは、クライアントからサーバーへの単一の接続を利用できる低遅延 (高速) 接続を可能にします (これは接続をより効率的に使用し、サーバー リソースをより効率的に使用する結果になり得ます)。
HTTP/2 は、双方向の接続と非同期の接続もサポートしています。そのため、サーバーがクライアントと効率的に接触してメッセージを送信することが可能です(非同期の応答/通知など...)。
RESTとgRPCはどちらもクライアント/サーバースタブを生成できますが(RESTではswaggerのようなものを使用)、RESTには主要な「関数」呼び出し(または動詞)の限られたセットがあります。
+-----------+----------------+ | HTTP動詞|CRUD|(英語) +-----------+----------------+ | POST|作成 | GET|読み出し | PUT|更新/置換 | PATCH|更新/変更 | DELETE|削除 +-----------+----------------+
gRPCでは、同期/非同期、単方向/双方向(ストリーム)など、あらゆる種類の関数呼び出しを定義することができます。
gRPCを使用して、クライアントはローカルメソッドを呼び出します。プログラマーにとっては、ローカル コールを行っているように見えますが、下の層 (自動生成されたクライアント スタブ) はサーバーにコールを送信します。サーバーには、そのメソッドがローカルに呼び出されたように見えます。
gRPC はすべての基礎的な配管を引き受け、プログラミングパラダイムを単純化します。しかし、一部の熱心な REST 純粋主義者にとっては、これは過剰に複雑化したように見えるかもしれません。YMMV
関連
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] HTTP GET(リクエストボディ付き
-
[解決済み] SOAPとRESTの比較(相違点)
-
[解決済み] RESTful WebServiceにファイルや関連データをJSONで投稿する。
-
[解決済み] RESTを理解する。動詞、エラーコード、認証
-
[解決済み] RESTアプリケーションはステートレスであることが前提である場合、セッションはどのように管理するのですか?
-
[解決済み] URLクエリパラメータを含むHTTP POST -- 良いアイデアかどうか?
-
[解決済み] JAX-RSとJerseyでRESTトークンベースの認証を実装する方法
-
[解決済み] PHPでREST APIを呼び出す
-
[解決済み] gRPC(HTTP/2)はREST with HTTP/2より速いのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] HTTP GET(リクエストボディ付き
-
[解決済み] リソースが既に存在する場合の POST に対する HTTP レスポンスコード
-
[解決済み] HTTP DELETEでリソースを2回目に削除したときのステータスコード
-
[解決済み] RESTfulな方法でリソースのサーバーサイドメソッドを呼び出す
-
[解決済み] RESTでトランザクション?
-
[解決済み] RESTを使った複数レコードの削除
-
[解決済み] REST HATEOAS(成熟度3)の有用性/重要性とは?
-
[解決済み] Amazon S3 ファイルのダウンロード名を変更する
-
[解決済み] RESTfulなパスワードリセット
-
[解決済み] gRPC(HTTP/2)はREST with HTTP/2より速いのか?