基本コンセプト
RPC(リモートProceduceコール)名:リモートプロシージャコールは、一般的にC / Sモード、リモートコールサーバー側のカスタマイズのための機能のプロトコルを介してクライアントを参照し、サーバーを介して機能を得ることができることは、長距離コールの心配せずに、クライアントに結果を返します。 、伝送ネットワーク層の他の詳細は、呼出関数または上記で定義されたエンド優しい標準端子Bを達成することができます。
利点:
図1に示すように、伝送効率を向上させる、送信内容を低減します。TCP上のRPCまたはデータ通信用の長い接続を使用して、HTTP2.0一般的なプロトコルは、複数回のは、HTTPプロトコル接続を低減性能コストを切断します。そして、統合データ構造を送信することなく、例えば、C / S側の面で指定することができる:HTTP1.0プロトコルそのような固定されたプロトコルヘッダ、システムの同時実行性を向上させるために、不必要なデータ伝送量を削減します。
図2は、分散機能は、結合システムを軽減する強力な能力を提供します。例えば、複数のモジュールに巨大なシステムとすることができ、RPCの形で複数の呼び出しとの間の通信のためのモジュールは、RPCが大きく、開発者の生産性を増加させる、ローカル関数を呼び出すなどのクライアントモジュール関数呼び出し他の方法はほとんど同じことができ。
図3は、高解像度の効率は、効率的なバイナリ伝送をサポートします。倹約、gRPCいるProtobuf、従来のHTTP JSON \ XMLフォーマットはバイナリデータ送信データ伝送速度及びより効率的な解析を有するに比べ:例えば、伝統的なHTTPプロトコル多くのRPCトランスポート・プロトコル・フレームワーク、より効率的な多くがあります。
短所:
1、より複雑な実現しています。RPCは、一般に、塩基性を達成するために通過する必要があります合意がなされている - >プロトコルジェネレータを - >交換プロトコルを、直接地元のコードに比べて、ダイレクトコール機能は、より複雑です。
一般的なシナリオ:
1、分散コンピューティング
図2に示すように、データベースのストアド・プロシージャ・コール
図3に示すように、マイクロサービス、分散システムアーキテクチャ