RPC(遠隔手続呼出し)とは?あーるぴーしー
RPC(遠隔手続呼出し)とは、プロセス間・マシン間の通信を、メッセージの組立てではなく関数呼出しの形で記述できるようにする方式。呼出し側のスタブが引数を整列化(マーシャリング)して送り、受け側のスケルトンが復元して実処理を呼び、結果を戻り値として返す。インタフェース定義(IDL)から双方のスタブを自動生成する実装が一般的。
最終更新:2026-10-06
この語が出る過去問を解く →背景
分散処理の初期は、ソケットにバイト列を自前で組み立てて詰めていた。バイトオーダ・境界・型の対応を呼出しのたびに手で書くため誤りが入りやすく、通信の作法がアプリケーションのロジックに混ざっていた。RPCはその定型部分を機械生成へ寄せ、開発者に業務ロジックだけを書かせる。システムアーキテクトでは、同期のRPCで繋ぐかメッセージキューで非同期に切り離すかという方式判断の一方の極として出てくる。
具体例
gRPCはGoogleが公開した実装で、.protoファイルに書いたインタフェース定義からクライアント側とサーバ側の両方のコードを生成する。社内のサービス間で在庫照会や与信照会を繋ぐ用途に使われ、言語が違うサービス同士でも同じ定義を共有できる。
試験での引っ掛け
呼出しの見た目がローカル関数と同じでも、実体はネットワーク越しであるという差は消えない。往復の遅延、呼出し先だけが落ちる部分障害、応答が返らないままのタイムアウトは避けられず、透過性を信じて再試行や冪等性を設計しないと障害時に破綻する。呼出し元が結果を待つ点で、送って終わりの非同期メッセージングとは可用性の性質が異なる。
関連用語
出た過去問
出典:平成29年度 秋期 システムアーキテクト試験 午前Ⅱ 問19(IPA)
WebブラウザやHTTPを用いず、独自のGUIとデータ転送機構を用いた、ネットワーク対戦型のゲームを作成する。仕様の(2)の実現に用いることができる仕組みはどれ…
正解:RPC
要点:遠隔のサーバ関数を呼び出す仕組みがRPC
クライアントからサーバ上の関数(手続)を呼び出し、その戻り値を受け取るという仕組みはRPC(Remote Procedure Call)である。あたかもローカルの関数呼出しのように遠隔の処理を実行でき、HTTPやWebブラウザに依存しない独自プロトコル上でも実現できるため、この仕様に合致する。
出典:令和5年度 春期 システムアーキテクト試験 午前Ⅱ 問22(IPA)
Webブラウザやhttpを用いず、独自のGUIとデータ転送機構を用いた、ネットワーク対戦型のゲームを作成する。仕様の(2)の実現に用いることができる仕組みはどれ…
正解:RPC
要点:サーバ上の関数を遠隔から呼び出す仕組みがRPC
クライアント側のプログラムが、あたかもローカルの関数を呼ぶかのようにサーバ上の手続を呼び出し、結果を受け取る仕組みがRPC(遠隔手続呼出し)である。引数と戻り値の受渡しは通信を意識せずに書けるため、独自プロトコルのクライアントサーバ型アプリケーションで手を判定させる用途に適する。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。