SpringCloud - Cannot execute request on any known server

微服務發現(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 爲前綴的庫,服務發現就自動開啓了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章