dubbo遇到的坑

一、ip獲取問題

  1. 在網上查,dubbo怎麼去獲取本機ipjava

  2. 翻看dubbo源碼,在NetUtils中的getLocalAddress0這個方法vim

  3. dubbo獲取本機全部網卡中的ip地址,而後拿到第一個不是127.0.0.1的那個ip服務器

  4. 設置服務器上的hosts,vim /etc/hosts網絡

192.168.72.235  localhost hostname

# 192.168.72.235 服務器ip
# localhost
# hostname 是主機名,在/etc/sysconfig/network進行配置

公司採用dubbo框架做爲遠程服務調用實現方案,爲方便測試,寫了個工程,直接調dubbo接口進行測試。遇到了一系列奇怪的問題,故記錄於此。框架

Q:No provider available for the service com.netease.wyxd.xiezhi.client.open.provider.DetectProvider from registry 10.165.124.69:2181 on the consumer 192.168.233.1 using the dubbo version 2.8.4. Please check if the providers have been started and registered.ide

A:提示我這個ip地址沒法調用到服務提供者,先看下dubbo admin上是否存在,確認無問題。哦有個地方,就是服務註冊在zk上 默認採用的是機房網絡地址(這裏機器有私網地址、機房地址、公網地址,機房網絡地址主要是爲了服務器之間的通訊,本地服務調服務器通常是用私網或者公網),因爲服務在admin上暴露出來的地址是機房網絡地址,因此須要在環境變量上加個配置 -Ddubbo.protocol.host=10.165.124.89  或者在dubbo.properties裏面加測試

我這裏的問題比較奇怪 這個消費者的ip並非個人本機ip 因此我清了一把網絡 好了 個人公網地址應該是10.242.111.206 這個纔是我正常的ipurl

 

Q: java.lang.IllegalStateException: Unsupported protocol hessian in notified urlspa

A: 這個查了很久 網上沒幾個 後來我本身試了 是由於hession.jar包沒有加 ==  ORZ....net

相關文章
相關標籤/搜索