1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

RPCとは何かを友達に説明する方法

Last updated at Posted at 2021-01-29

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を用いてデータを伝送し、データもシナリオ化を処理する。

serverserver.png

HTTPはアプリケーション層のプロトコールです、Headerの内容が重いので、通信のコストが高いです。

RPCは主にSocketを依頼して通信効率は向上することができますが下層の実装はRESTよりもっと複雑である。

timeline.png

この文章は個人の学習記録です,指摘を歓迎する。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?