Eureka使用时需要注意的问题

在Java微服务最流行的Spring-Cloud-NetfilixOSS全家桶中,Eureka处于核心地位,提供服务注册和服务发现的功能,所以一旦Eureka出了问题,整个微服务群都会处于瘫痪状态。

下面的问题是我在使用Eureka时遇到的一些问题。

问题一:Eureka Client过早进行服务注册

当微服务启动时,

spring-cloud-netfilix-eureka-client/spring.factory-->EurekaDiscoveryClientConfiguration-->EurekaAutoServiceRegistration-->EurekaServiceRegistry#registry()

EurekaAutoServiceRegistration实现了SmartLifeCycle接口,phase为0。

问题二:微服务异常关闭

很多时候,运维人员或者系统使用kill -9关闭微服务,而不是使用正常的方式进行关闭,此时被关闭的微服务的Eureka Client无法向Eureka Server发送canel请求,如果异常关闭多个微服务,会引起Eureka Server的自我保护。此时会导致已经下线的服务被保留在Eureka Server中,从而导致客户端调用到已下线的服务。

results matching ""

    No results matching ""