跳到主要内容

Kubernetes 原生服务发现

DeepSeek V3 中英对照 Kubernetes native service discovery

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

调用方服务只需要引用在特定 Kubernetes 集群中可解析的名称。一个简单的实现可能使用 Spring 的 RestTemplate,它引用一个完全限定域名(FQDN),例如 [{service-name}.{namespace}.svc.{cluster}.local:{service-port}](https://{service-name}.{namespace}.svc.{cluster}.local:{service-port})

此外,你还可以使用 Hystrix 来实现以下功能:

  • 在调用端实现断路器,通过在 Spring Boot 应用类上添加 @EnableCircuitBreaker 注解

  • 回退功能,通过在相应方法上添加 @HystrixCommand(fallbackMethod= 注解