Kubernetes 原生服务发现

Kubernetes 本身能够(服务器端)服务发现(参见:kubernetes.io/docs/concepts/services-networking/service/#discovering-services)。 使用原生 kubernetes 服务发现可确保与其他工具兼容,例如 Istio (istio.io),这是一种能够实现负载均衡、熔断、故障转移等的服务网格。spring-doc.cn

然后,调用方服务只需引用特定 Kubernetes 集群中可解析的名称。一个简单的实现可能会使用引用完全限定域名 (FQDN) 的 spring,例如 .RestTemplate{service-name}.{namespace}.svc.{cluster}.local:{service-port}spring-doc.cn

此外,您可以将 Hystrix 用于:spring-doc.cn

  • 调用方端的断路器实现,通过使用@EnableCircuitBreakerspring-doc.cn

  • Fallback 功能,通过使用@HystrixCommand(fallbackMethod=spring-doc.cn