ネットワーク - gRPCについて


はじめに

gRPCについてちょっと調べたのでメモる。


gRPCさくっと概要

gRPCとは、RPC(Remote Procedure Call)を実現するためにGoogleにより開発されたプロトコル。そもそもRPCってなんでしょう?


RPCとは

RPC( = リモートプロシージャコール)とは、プログラム中の手続きや関数、メソッドなどを呼び出すのと同じ手順で、ネットワーク越しに別のコンピュータ上のプログラムを呼び出す手法のこと。

なので、REST APIのようにパスやメソッドを指定する必要がなく、ローカルで実行するのと同じように別コンピュータの関数/メソッドを実行できる。

また、RPCの仕様では、呼び出し側/手続き側の両方でRPCによる呼び出しに対応するためのAPIと、ネットワーク上で呼び出し要求メッセージや応答メッセージを送受信するためのプロトコル(RPCプロトコル)を定めている。なので、同じRPCプロトコルに準拠していれば、機種やOS、プログラミング言語が異なっても共通の手順で呼び出すことができる。


まとめ

以上の仕様を実装したものがgRPC。メリットやデメリットもありますが、それはまた今度調べてメモします。