Kubernetes 原生服務發現
Kubernetes 本身能夠進行(伺服器端)服務發現(請參閱:kubernetes.io/docs/concepts/services-networking/service/#discovering-services)。使用原生 Kubernetes 服務發現可確保與其他工具(例如 Istio (istio.io))的相容性,Istio 是一個能夠進行負載平衡、斷路器、故障轉移等功能的服務網格。
然後,呼叫端服務只需要參考在特定的 Kubernetes 集群中可解析的名稱。一個簡單的實作可能會使用 Spring RestTemplate
,其參考完整網域名稱 (FQDN),例如 {service-name}.{namespace}.svc.{cluster}.local:{service-port}
。
此外,您可以將 Hystrix 用於
-
呼叫端實作斷路器,方法是在 Spring Boot 應用程式類別上標註
@EnableCircuitBreaker
-
回退功能,方法是在各自的方法上標註
@HystrixCommand(fallbackMethod=