Spring|Spring Cloud Eureka 和 Config Server

Demo on Github

  • eureka server
  • config server
  • config client
目前Spring Cloud所支持的服务注册中心有
  • Eureka
  • Consul
  • Zookeeper
从一个Spring Cloud Config Client的角度来看, 其启动行为可分为Config First BootstrapDiscovery First Bootstrap, 什么意思呢,先说Config Firtst, 即Config Client启动时会先去Config Server读取配置,而Discovery First 则是先去服务注册中心去搜索服务(配置服务)。
如果你的服务注册中心使用的是Eureka或者Consul, bootstrap.yml的配置方式(Zookeeper不支持)
spring: cloud: config: discovery: enabled: true serviceId: config-server

其中serviceId对应注册中心中所注册的服务ID, 在eureka中spring environment的取值有如下对应关系
  1. ${spring.application.name} // service ID in eureka
  2. ${spring.application.name} // virtual host in eureka
  3. ${server.port} // non-secure port
容易踩得坑
Eureka Health Check 【Spring|Spring Cloud Eureka 和 Config Server】文档说明
不要将eureka.client.healthcheck.enabled: true配置在bootstrap.yml里,否则eureka的后台会显示服务状态是UNKNOWN, 但是此外,下面的配置一定要放在bootstrap.yml,如果你错放在application.yml里会无法发现服务
eureka: client: serviceUrl: defaultZone: http://yourhost:yourport/eureka/

    推荐阅读