RPC
#Web_API #Web_API設計の勘所
https://ja.wikipedia.org/wiki/遠隔手続き呼出し
remote procedure call
Web APIの定義に使用される外部仕様
プログラムから別のアドレス空間(通常、共有ネットワーク上の別のコンピュータ上)にあるサブルーチンや手続きを実行することを可能にする技術
プログラマはローカルなサブルーチン呼び出しと基本的に同じコードをリモート呼び出しについても行う
RPCプロトコルの実装によって微妙な違いをもった多くのバリエーションがあり、それらの間には互換性がない
メッセージパッシング機構で成り立つ
RPCクライアントは、実行する手続きと引数とを要求メッセージとして既知のリモートサーバに送信することで、RPCを開始する。
サーバー上でメッセージが処理され、応答がクライアントに戻ってくると、クライアント上のプロセスは処理を続行する
RPCが通常のローカル呼び出しと比べて違う点で重要なのは、予測できないネットワーク上の問題で失敗することがあるという点
またそのような場合、手続きが実際に実行されたかどうかをクライアントが知ることができない