天天看點

Request URI does not contain a valid hostname: service-eureka-order/order/1 解決方法

一、環境:

eclipse 2020版本

二、當時情況:

1、在maven父工程spring-cloud下面建立了三個maven子子產品分别為spring-cloud-order、spring-cloud-server、spring-cloud-user

2、在沒有使用負載均衡之前(即指定url)一切運作正常

3、訂單的yml配置裡的name和userController裡名稱都為service-eureka-order

發現問題:觀察後發現是從user裡到order的路徑,即剛剛提到的userController裡名稱都為service-eureka-order有問題

三、網上搜尋的解決辦法總結:

1、基本上是說微服務名稱不能用下劃線(中劃線可以)(吐槽:但姐姐我跟本不是這個問題 一查全這個 惱火)

2、ribbon版本問題,在pom裡新增依賴修正ribbon的版本(但其實eureka裡面 本來就有ribbon應該可以直接使用的,竊以為對我的問題用處很小)

四、我的解決辦法:

直到看到了這篇博文:重學SpringCloud系列二之服務注冊與發現---上_大忽悠愛忽悠的部落格-CSDN部落格_springcloud 服務發現

“加上@LoadBalanced注解之後,我們使用RestTemplate通路微服務的時候,就可以實作微服務多執行個體通路的負載均衡。注意:這裡通路的位址是微服務的名稱(大寫),不再是某一個微服務執行個體的ip和端口。”(真的很感動!感謝部落客)

繼續閱讀