【サービスレジストリ】

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

💡 転居するたびに住所を更新し続けるマイクロサービスの電話帳
📌 このページのポイント
サービスレジストリ:マイクロサービスの住所録 Service Registry サービスA: 10.0.1.1:8080 サービスB: 10.0.1.2:8081 サービスC: 10.0.1.3:9000 Service A 10.0.1.1:8080 Service B (呼び出し元) Service C 10.0.1.3:9000 ①登録 ②問い合わせ ③住所を返答 ①登録 ④取得した住所に直接通信 ConsulやEurekaが代表例。Kubernetesは内部にDNSベースの同等機能を持つ
サービスレジストリ:マイクロサービスが互いの場所を動的に発見する仕組み
ひよこ ひよこ

サービスレジストリって何をするものなの?

ペンギン先生 ペンギン先生

マイクロサービスの「住所録」だよ。どのサービスがどのIPアドレスとポートで動いているかを記録しておく場所で、他のサービスが通信先を調べるために使うんだ。

ひよこ ひよこ

IPアドレスって普通は固定じゃないの?

ペンギン先生 ペンギン先生

クラウド環境やコンテナ環境だと、スケールアップ・ダウンやデプロイのたびにサービスのIPアドレスが変わるんだよ。だから固定で書けなくて、動的に問い合わせる仕組みが必要になるんだ。

ひよこ ひよこ

サービスが起動したらどうやって登録するの?

ペンギン先生 ペンギン先生

サービス自身が起動時にレジストリに自分の情報を登録するセルフ登録方式と、オーケストレーターがまとめて管理するサードパーティ登録方式があるよ。Kubernetesは後者の考え方に近いんだ。

ひよこ ひよこ

サービスが壊れたときはどうなるの?

ペンギン先生 ペンギン先生

ConsulやEurekaにはヘルスチェック機能があって、サービスが応答しなくなったら自動的に登録を削除するんだよ。これで壊れたサービスに接続しようとする問題を防げるんだ。

ひよこ ひよこ

サービスディスカバリとは違うの?

ペンギン先生 ペンギン先生

サービスレジストリは情報を「蓄える場所」で、サービスディスカバリはそれを「活用する仕組み」だよ。セットで使われることが多くて、セットでサービス間通信を実現するんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「サービスレジストリ」って出てきたら「マイクロサービスの住所録」と思えればだいたいOK!
📖 おまけ:英語の意味
「Service Registry」 = サービス登録簿
💬 「registry」はもともと戸籍や登記簿を意味する英語だよ。サービスの場所情報を登録・管理する台帳として機能することからこの名前がついているんだ
← 用語集にもどる