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

另外可以参考:记一次本机InetAddress.getLocalHost()引起的项目启动变慢及解决过程

mac确实和windows不大一样。

猜你喜欢

转载自sunwonder.iteye.com/blog/2403723
今日推荐