最新文章

Spring Cloud - Eureka服务注册

Spring Cloud - Eureka服务注册

之前分析过Spring Cloud的Eureka服务发现, 今天分析一下服务注册.

配置

BootstrapConfiguration

EurekaDiscoveryClientConfigServiceBootstrapConfiguration

spring-cloud-config环境中使用的配置

引入EurekaDiscoveryClientConfiguration和EurekaClientAutoConfiguration

EurekaDiscoveryClientConfiguration
  1. 在spring-cloud中(通过是否存在RefreshScopeRefreshedEvent.class判断), 添加RefreshScopeRefreshedEvent的listener. 收到事件后重新注册实例.
  2. 在eureka.client.healthcheck.enabled设置为true时, 注册EurekaHealthCheckHandlerbean. EurekaHealthCheckHandler负责将应用状态映射为实例状态InstanceStatus.
EurekaClientAutoConfiguration

支持spring-cloud和非spring-cloud环境, 在spring-cloud环境中, 下面两个bean要使用@RefreshScope标注

  1. 实例化EurekaClientbean, 在spring-cloud中使用实现类CloudEurekaClient.
  2. 使用EurekaInstanceConfig实例, 实例化ApplicationInfoManagerbean