AI活用の教科書
API設計開発むずかしい3分で読了

gRPC

gRPCじーあーるぴーしー

ひとことで言うと

プログラム同士がコンパクトなデータ形式で高速にやりとりするための通信の仕組みです。

📖 もうちょい詳しく

何が新しいの?

gRPC(じーあーるぴーしー)は、プログラム同士が会話するための新しめの通信の仕組みです。これまで主流だった方式は、人にも読みやすい文字のデータをやりとりすることが多かったのですが、gRPC はそれをコンパクトな形に圧縮して送ります。そのぶん通信が軽く、速くなりやすいのが特徴です。

どうやって動いてるの?

まず「どんなデータをやりとりするか」をあらかじめ約束ごととして決めておきます。その約束に沿って、データを人には読めないバイナリ(0と1のかたまり)に変換して送ります。受け取った側は同じ約束をもとに元に戻します。お互いが約束を共有しているので、短いデータでも中身を正しく読み取れる仕組みです。

何ができるの?

あるプログラムから別のプログラムの機能を、まるで自分の手元の関数を呼ぶような感覚で呼び出せます。たとえば「ユーザー情報をください」と頼むと、相手のプログラムが処理して結果を返してくれます。通信が軽いので、たくさんのやりとりが発生する場面で力を発揮します。

🌱 身近なたとえ

宅配の荷物で例えると分かりやすいです。中身の説明書きを長文で箱に貼って送る代わりに、お互いが持っている共通の品番表を使い、「品番12番を3つ」とだけ伝える感じです。短いメモで正確に中身が伝わるので、やりとりがすばやく済みます。

✅ まず覚えるポイント

  • プログラム同士が通信するための仕組みの一つです
  • データをコンパクトなバイナリ形式にして送るので軽くて速いことが多いです
  • やりとりする内容を事前に約束ごととして決めておきます
  • 相手の機能を自分の関数のように呼び出せます
  • 一つのサービスを小さく分けて作る構成(マイクロサービス)の内部通信でよく使われます
  • Google が中心になって公開した、オープンな技術です

🧭 よくある勘違い

REST API の置きかえなの?

かならずしも置きかえというわけではありません。外部に公開する窓口は分かりやすい従来の方式、内部の高速なやりとりは gRPC、というように使い分けることが多いです。場面に合わせて選ぶものだと考えると整理しやすいです。

ブラウザから直接たくさん使えるの?

ブラウザからそのまま使うには制約があり、間に変換のための仕組みをはさむことが一般的です。どちらかというと、サーバーとサーバーの間の通信で使われる場面が多い技術です。

🧩 関連して覚えると楽な言葉

  • API: プログラム同士がやりとりするための窓口や決まりごとのことです
  • REST API: URL と決まった動詞でやりとりする、広く使われている通信方式です
  • マイクロサービス: 一つのサービスを小さな部品に分けて作る考え方です
  • JSON: 人にも読みやすい文字でデータを表す、よく使われる形式です

🏁 ひとことでまとめ

gRPC は、約束ごとを共有することで短いデータでも正確に伝え合える、軽くて速い通信のやり方です。