Kubernetes ネイティブサービスの検出

Kubernetes 自体は (サーバー側) サービス検出が可能です (kubernetes.io/docs/concepts/services-networking/service/#discovering-services (英語) を参照)。ネイティブ Kubernetes サービスディスカバリを使用すると、ロードバランシング、サーキットブレーカー、フェイルオーバーなどの機能を備えたサービスメッシュである Istio (istio.io (英語) ) などの追加ツールとの互換性が確保されます。

呼び出し側サービスは、特定の Kubernetes クラスター内で解決可能な名前を参照するだけで済みます。単純な実装では、{service-name}.{namespace}.svc.{cluster}.local:{service-port} (英語) などの完全修飾ドメイン名 (FQDN) を参照する Spring RestTemplate を使用する場合があります。

さらに、Hystrix は次の目的で使用できます。

  • spring boot アプリケーションクラスに @EnableCircuitBreaker アノテーションを付けることによる、呼び出し側でのサーキットブレーカーの実装

  • それぞれのメソッドに @HystrixCommand(fallbackMethod= のアノテーションを付けることによるフォールバック機能