1. 程式人生 > >dubbo註冊到zookeeper很慢5秒一個

dubbo註冊到zookeeper很慢5秒一個

  前段時間新買的Mac環境都重新整了個遍(mac 10.12+idea+jetty9),最後發覺一樣的程式碼,一樣的配置,但是服務啟動時間,從原來的幾十秒,飆升到了3分半鐘。檢視控制檯日誌,發現每個dubbo服務註冊到zookeeper都需要5秒。  懷疑zk問題,換了好幾個版本,也試用連線正常的遠端zk,都沒結果。網上搜索居然有類似問題,懸而未解(詳見:http://ask.csdn.net/questions/353225)。緩慢開發1個多月後,有一天想起來dubbo程式碼可以下載,可以debug,於是居然發現了問題的癥結所在!

經過debug,發覺是dubbo 
com.alibaba.dubbo.config.ServiceConfig類獲取host的程式碼卡住了5秒


if (NetUtils.isInvalidLocalHost(host)) {
anyhost = true;
try {
host = InetAddress.getLocalHost().getHostAddress();
} catch (UnknownHostException e) {
logger.warn(e.getMessage(), e);
}
。。。

請檢查vi /etc/hosts 檔案127.0.0.0 對應的host名稱是否正確。我本機是錯誤的(因為作業系統升級會改變host名稱)
127.0.0.1 your_host_name


mac確實和windows不大一樣。