2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【初心者向け】gRPCとは

Posted at

はじめに

REST APIとGraphQLは分かるようになってきて、もう一つAPIの設計で有名なのがgRPCということで、gRPCについて調べてみました。
公式サイトはこちら
grpc.png

gRPCとは?

RPCを実現するためにGoogleが開発したプロトコルです。
まず、RPCが何なのかを知っておく必要がありますね。

RPCとは、Remote procedure call の略で遠隔手続き呼出しのことです。
分かりやすくいうと、ローカルのメソッドを実行するのと同じような感覚でリモートサーバのメソッドを実行できるようになるみたいです。
なので、REST APIのようにパスやメソッドなどを指定する必要がなく、関数と引数を指定することで動作させます。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f33333636382f39666338653238302d653138322d363930322d373836342d3633393233383264363461352e706e67.png

特徴

★IDL(インターフェース定義言語)を使ってAPI仕様を .proto ファイルとして定義
protoファイルと呼ばれるIDL(Interface Definition Language)にAPI仕様を記述します。
言語に依存しないIDLで先にインタフェースを定義することで、様々なプログラミング言語の実装を生成できるというメリットがあります。

★データ量を少なくかつ高速で送信できる
Protocol Buffers と呼ばれるものを使ってデータをシリアライズして送信します。
シリアライズすることで高速でデータを送信できるようになります。
またHTTP/2が使えるので高速で通信が可能となっています。
そろそろ知っておきたいHTTP/2の話

終わりに

ここまで見るとgRPCの概要がざっくりと分かりました。
具体的な書き方は扱いませんでしたが、特徴を少しでも分かっておくだけでも面白いですね。

参考

gRPCって何?
いまさらだけどgRPCに入門したので分かりやすくまとめてみた

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?