RPC / Remote Procedure Callとは
クライアントとサーバー間でメソッド呼び出しを行い、リモートのサービスやリソースに対して操作や処理を要求するための仕組み
プログラムやシステム間でのリモート通信を行うためのプロトコル、仕組み
RPCプロトコルの例
- XML-RPC
- JSON-RPC
- gRPCなど
→データのシリアル化やネットワーク通信の詳細を抽象化
開発者が簡単にRPCを実装できるようにしている
複数のコンポーネントやサービスが相互に通信する必要があるシステムで広く使用
EX)分散システムやマイクロサービスアーキテクチャ
異なるプログラミング言語やプラットフォーム間での相互運用性を実現するための手段にもなる
RPCの動作フロー
1,クライアントがリモートサーバーに対してメソッドを呼び出す
2,クライアントの要求をリモートサーバーに送信
3,リモートサーバーは受け取った要求を処理して、結果を生成
4,リモートサーバーはクライアントに結果を返す
5,クライアントは結果を受け取り、追加の処理を行う