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 進行
-
透過使用
@EnableCircuitBreaker註解 Spring Boot 應用程式類,在呼叫方實現熔斷 -
透過使用
@HystrixCommand(fallbackMethod=註解相應方法來實現回退功能