RPC
Remote Procedure Call
遠隔手続き呼び出し
プログラムから別のアドレス空間にあるサブルーチンや手続きを実行することを可能にする
server上で実装されている関数を、clientから呼び出すノリで使える
1960年代に発明された
RPCはcurlなどで呼び出せない
ずっと前からHTTPのプロトコルとして使われてきた
XML-RPC
JSON-RPC
gRPC
Apache Thrift
tRPC
RPC frameworkを使う場合、基本的にsever/clientで共通のものを使わないといけない
実装の流れとしては、共通の設定ファイルに関数を定義して、
そこからclient向け、server向けのコードを生成し、
それを使って、個々の実装を進めていく
要は、共通のスキーマ定義のようなものをserverとclientで共有する
RESTでは、/users/1でエンドポイントを作って、呼んでたが、URL使うの嫌じゃない?というのが割と前提にある
この文字列だけ見ても何をやっているかわからないから。
だから、普通の関数呼び出しのようにgetUser(1)のような関数名と引数とで、user取ってくる、のような処理をできるようにした
というのがRPC
基本的にはcurlとかでAPIを呼べない
参考
そもそも RPC ってなんだ - Qiita
概要
『Goならわかるシステムプログラミング 第1版』 p.96
殆ど何も解説していない
https://ja.wikipedia.org/wiki/遠隔手続き呼出し