目前Spring Cloud所支持的服務(wù)注冊中心有
- Eureka
- Consul
- Zookeeper
從一個Spring Cloud Config Client
的角度來看, 其啟動行為可分為Config First Bootstrap
和 Discovery First Bootstrap
, 什么意思呢冯丙,先說Config Firtst
, 即Config Client啟動時會先去Config Server讀取配置誓琼,而Discovery First
則是先去服務(wù)注冊中心去搜索服務(wù)(配置服務(wù))痴怨。
如果你的服務(wù)注冊中心使用的是Eureka或者Consul, bootstrap.yml的配置方式(Zookeeper不支持)
spring:
cloud:
config:
discovery:
enabled: true
serviceId: config-server
其中serviceId對應(yīng)注冊中心中所注冊的服務(wù)ID, 在eureka中spring environment的取值有如下對應(yīng)關(guān)系
- ${spring.application.name} // service ID in eureka
- ${spring.application.name} // virtual host in eureka
- ${server.port} // non-secure port
容易踩得坑
Eureka Health Check
文檔說明
不要將eureka.client.healthcheck.enabled: true
配置在bootstrap.yml
里逼裆,否則eureka的后臺會顯示服務(wù)狀態(tài)是UNKNOWN
, 但是此外,下面的配置一定要放在bootstrap.yml
,如果你錯放在application.yml
里會無法發(fā)現(xiàn)服務(wù)
eureka:
client:
serviceUrl:
defaultZone: http://yourhost:yourport/eureka/