SpringCloud--問題(一)分布式服務調用失敗


描述:gateway路由訪問部署在 其他主機 的服務失敗

一、問題分析

1、gateway路由訪問報錯如下

image

2、查看eureka注冊中心 master-service 服務注冊了兩個

image

可以看出,gateway路由分發到了 windows10.microdone.cn 上。在eureka注冊中心找到該服務確實已被注冊,但是從gateway報錯信息可以看到 java.net.UnknownHostException: windows10.microdone.cn:Name or service not know,說明gateway無法識別 該地址,從而路由失敗。

默認情況下,eureka使用 機器的主機名 進行服務注冊,可以看到注冊表中zbp1gbi4yst5no4u1rapxzi windows10.microdone.cn兩個服務使用的都是 機器的主機名,而通過 機器的主機名 gateway無法正常路由到對應的服務器

二、解決方案

使用IP進行服務注冊,這樣gateway就能通過ip成功找到對應的服務
服務端添加如下配置,讓服務使用IP進行服務注冊

eureka:
  instance:
    prefer-ip-address: true

問題解決


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM