8章gRPC
RPCはRemote Procedure Callの略である。その名前が示すように、RPCというAPIスタイルはプロシージャー(関数)の遠隔呼び出しに重点を置いている。RPCのAPIはインテント指向のインターフェースが特徴であり、インテントは「CreateUser」や「GenerateReport」のような特定のアクション(操作)を表す名前を持つ。このようなアプローチはRESTとは正反対である。RESTは「User」や「Report」のようなリソースの取得と変更に重点を置いている†1。そしてこれらのリソースに対してGET、POST、PUT、DELETEという標準化されたHTTPのメソッドを利用する。
[†1] 「5.4 APIの成熟度モデル」で解説した。
gRPC†2は、現時点でおそらく最も広く採用されているRPCの実装である†3。Googleがこのプロジェクトを開始し、2017年にCloud Native Computing Foundationに寄贈された。Webサイトのアドレスはhttps://grpc.ioである。
[†2] 「g」の意味はリリースのたびに遊び心で変わる。gRPCのGitHubリポジトリーにあるdoc/g_stands_for.md(https://oreil.ly/QTdMM)で、それぞれの意味が一覧されている。
[†3] gRPC以外にも、Apache Thrift(https://oreil.ly/3llo2)、tRPC(https://oreil.ly/A8n2b)、JSON-RPC(https://www.jsonrpc.org)など、いくつかのRPCベースの技術が存在する。
RPCの全体的な目標について説明した後、この章ではgRPCとその機能について紹介する。Protocol ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access