Dubbo - Mac下Dubbo注册zookeeper缓慢
Mac下Dubbo注册zookeeper缓慢
某天发现一个奇怪的现象,同一个Dubbo项目,其他人的Mac和Windows电脑都能正常运行,只有我的不能。找了一周多原因,终于找到了问题。
Java VisualVM 分析
用VisualVM启动项目,在Dubbo注册卡住的时候,执行dump,发现有一个线程一直锁住
如图所示可见主线程是卡在了 dubbo 的某个方法 ServiceConfig.java 的 303 行中。
于是我找到此处的源码:
这里其实就是要获取本机的 IP
将其注册到 Zookeeper
中用于其他服务调用。
再往下跟就是卡在了 Inet4AddressImpl.getLocalHostName
方法。这个 native 方法里是获取本机的 hostname,那是否和这个 hostname 有关系呢。
之后我修改了/etc/hosts文件,我开始改的是:
但是改成这样之后发现并不起作用,后来我又改成了这样:
这种就解决了问题。