【サービスレジストリ】

サービスレジストリ とは?

最終更新:
💡 転居するたびに住所を更新し続けるマイクロサービスの電話帳

サービスの実行先(IPアドレスやポートなど)を登録・管理し、通信先を探す仕組みに提供する台帳。起動・停止や台数の増減に応じて接続先情報を更新する。

📌 このページのポイント
サービス名から接続先を探す 注文サービス 実行先 A レジストリ 登録情報 注文 → A IP・ポート などを管理 ①登録 呼び出し元 ②問い合わせ ③接続先 を返す ④ Aへ 直接通信 自己登録・クライアント側発見の例
サービス自身が登録し、呼び出し元が調べて通信する例。外部からの登録や、ルーターが発見・転送する構成もある。
ひよこ ひよこ
サービスレジストリって何をするの?
ペンギン先生 ペンギン先生
サービスの「住所録」だよ。たとえば注文サービスがどのIPアドレスとポートで動いているかを記録して、呼び出す側が接続先を探せるようにする。コンテナの配布用イメージを保管するコンテナレジストリとは役割が違うよ。
ひよこ ひよこ
IPアドレスは固定ではないの?
ペンギン先生 ペンギン先生
固定の場合もあるけれど、コンテナの作り直しや台数の増減で実行先が変わることがある。そのたびに呼び出し元の設定を書き換える代わりに、サービス名から現在の接続先を調べるんだ。
ひよこ ひよこ
誰が住所を登録するの?
ペンギン先生 ペンギン先生
サービス自身が起動時などに登録する方式も、外部の管理機構が登録・更新する方式もあるよ。探す側も、呼び出し元自身が調べる場合と、ルーターやロードバランサーが調べて転送する場合がある。
ひよこ ひよこ
サービスが応答しなくなったら、すぐ登録が消える?
ペンギン先生 ペンギン先生
必ずしもそうではないよ。Consulではヘルスチェックの結果を記録し、正常な接続先を発見するために使う。異常状態が指定時間続いたら登録解除する設定もあるけれど、通信先からの除外と台帳からの削除は別なんだ。
ひよこ ひよこ
サービスディスカバリやKubernetesとはどう関係する?
ペンギン先生 ペンギン先生
レジストリは接続先情報を蓄える台帳、ディスカバリは通信先を発見する仕組みだよ。ConsulやEurekaが実装例。KubernetesではServiceやEndpointSliceなどが接続先を管理し、DNSなどを使って発見できるので、別のレジストリを必ず追加するわけではないんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「サービスレジストリ」って出てきたら「マイクロサービスの住所録」と思えればだいたいOK!
📖 おまけ:英語の意味
「Service Registry」 = サービス登録簿
💬 Serviceはサービス、Registryは登録簿。サービスがどこで動いているかを記録する台帳を表すよ。

参考資料

← 用語集にもどる