1. 程式人生 > >dubbo異常:Failed to check the status of the service . No provider available for the service 解決

dubbo異常:Failed to check the status of the service . No provider available for the service 解決

dubbo配置的時候需要一個註冊中心 這個註冊中心主要起的作用為服務做配置 每當一個服務生產者去註冊服務時候 會把這個生產者的ip跟埠號丟上去註冊中心 而服務的消費方就會從註冊中心拿到服務的ip跟埠號 放在本地檔案中 底層呼叫netty訪問服務

昨天跟同事一塊調程式 他開服務生產者 我開服務呼叫者 後邊就出Failed to check the status of the service . No provider available for the service 這個問題 然後就去dubboadmin上邊看 服務正常啟動 但是服務提供者的ip是192.168.83.1 是同事搞虛擬機器的時候弄虛擬網絡卡的地址 所以我這邊消費方拿到他的虛擬網絡卡ip才訪問不到服務 於是乎 禁用虛擬網絡卡 問題解決

問題解析:

這裡不一定是虛擬網絡卡的原因 首先dubbo服務生產者提供服務到註冊中心 dubbo會拿出一張網絡卡的ip地址提供給註冊中心(這裡拿出的網絡卡個人還不確定是哪一張 個人感覺是隨機取) 如果服務註冊的ip是內網或者虛擬網絡卡或者其他什麼情況這種ip讓消費者訪問不到的情況 會出現這個問題 只要我們把服務生產者其他的網絡卡禁用了就可以了

補充一點。。若是在監控中心中 呼叫者被禁用 也有可能會出現此情況