マイクロサービス_サービスディスカバリ
リンク
メモ
デプロイ毎に変わるドメイン名とIPアドレスを、見つけて自動的に紐づけるようなパターン
クラウドでは、デプロイの度にIPアドレスなどが変わる
Client-side discovery
クライアントがサービスのロケーションの取得を行うパターン
サービスのロケーションはService Registryに格納されている
Server-side discovery
サーバーサイドのコンポーネントに委託するパターン
ロケーションを解決するのは、ロードバランサーやプロキシなど、サーバサイドの境界に配置されるコンポーネント
Service Registoryと連携してサービスのロケーションを取得する
Client-side discoveryとの違い
Serviceを検索する仕組みがアプリケーション外にある
アプリケーションコードは不要で、SIde-carとして実現可能
Service Registry
サービスのロケーション情報を保持して、リクエストに応じてその情報を提供する
Client-side DiscoveryやServer-side Discoveryから呼び出される
サービス名解決のための永続化ストア
Self Registration
デプロイ時の初期化処理の一部として、サービス自身がサービスレジストリに登録をするパターン
アプリとしてロジックを実装するため柔軟性がある
ヘルスチェックや障害発生時のリカバリ処理なども実装しないといけない
開発工数に影響がある
3rd Party Registration
アプリケーション以外の第3者にサービスレジストリの登録をしてもらうパターン
Kubernatesなど