RPCとは友達も理解できる説明方法
1.基本的なPRCモジュール
RPCとは何か?RPCとRESTの区別
2.概念
-
RPC(Remote Procedure Call)主にクライアントノードとサービスノード間に呼び出し方式です。
-
ローカルでよびだしの場合はsetName(String name)のようなローカル関数を呼び出して、データをメモリに渡し、関数ポインタでsetName();を呼び出して、データを処理します。
-
RPCの場合は以下のstepを実現されます
1.まず、クライアント端はさーばサーバーに保存したの関数のプロセスIDを見つけ、そして関数を実行する
2.クライアントはローカルデータがサーバーに伝送する必要があります。そのため、クライアントはデータをバイトストリームに変換してサーバー側に送り、サーバー側はバイトスクリームをデシナリオして、クライアントからのデータと関数IDを取得ます。
3.サーバー側に関数を実行して、結果がシナリオとデシナリオを通ってクライアント側に返送します。
![clientserver.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517198/be663edc-e4b9-37c1-1a6f-991bfec075e6.png) -
分散システムでは、サーバーaがサーバーbにアクセスする場合。http restを用いてデータを伝送し、データもシナリオ化を処理する。
HTTPはアプリケーション層のプロトコールです、Headerの内容が重いので、通信のコストが高いです。
RPCは主にSocketを依頼して通信効率は向上することができますが下層の実装はRESTよりもっと複雑である。
この文章は個人の学習記録です,指摘を歓迎する。