微服務發現(eureka)採坑記錄:報 Cannot execute request on any known server 這個錯:連接Eureka服務端地址不對,有以下幾種處理方式。
一、更改.yml文件或者.properties文件配置即可
#下劃線+下劃線後面的小寫字母等同於去掉下劃線大寫下劃線後面的字母(駝峯原則)
eureka.client.registerWithEureka=false #是否要註冊到其他Server上 registerWithEureka等同於register_with_eureka
eureka.client.fetchRegistry=false #是否需要拉取服務信息 fetchRegistry等同於 fetch-registry
二、連接Eureka服務端URL不對
如果訪問地址是:http://127.0.0.1:8761/eureka/
則在Eureka服務發現應該配置爲:
server.port: 8761
eureka.client.serviceUrl.defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
三、註銷依賴以及清空下載的Eureka依賴包
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
補充
有些項目工程入口文件爲什麼不用加@EnableEurekaClient註解,服務就可以直接註冊到服務中心?
答:這個問題和具體的版本有關。在早期的(D版之前,包含 D 版)Spring Cloud 中,我們使用 @EnableEurekaClient 或者 @EnableDiscoveryClient ,但實際上,在前者中使用了後者,所以這兩者已經沒有什麼區別了。 不過在新版中,只要我們引用了以 spring-cloud-starter-netflix 爲前綴的庫,服務發現就自動開啓了。