方案一:

重启dubbo连接 zookeeper

方案二:

经压测,greys跟踪得知,是dubbo的monitor的问题。主要超时的方法是dubbo的getIP方法,monitor每次收集数据的时候都要根据域名获取zk的IP,这一步耗时很长。

    public String getIp() {
if (ip == null) {
ip = NetUtils.getIpByHost(host);
}
return ip;
}

现在改了dubbo的源码,monitor每次收集数据的时候不获取zk的ip,直接用域名。增加如下方法,

    public String toServiceString(boolean useIP){
return buildString(true, false, useIP, true);
}

修改AbstractMonitorFactory的方法

    public Monitor getMonitor(URL url) {
url = url.setPath(MonitorService.class.getName()).addParameter(Constants.INTERFACE_KEY, MonitorService.class.getName());
String key = url.toServiceString(false);
LOCK.lock();
try {
Monitor monitor = MONITORS.get(key);
if (monitor != null) {
return monitor;
}
monitor = createMonitor(url);
if (monitor == null) {
throw new IllegalStateException("Can not create monitor " + url);
}
MONITORS.put(key, monitor);
return monitor;
} finally {
// 释放锁
LOCK.unlock();
}
}

最新文章

  1. NodeJS POST Request Over JSON-RPC
  2. 微信小程序小技巧系列《一》幻灯片,tab导航切换
  3. Linux 第05天
  4. Java知识积累2-StringReverse实现文字(单词)倒叙输出
  5. POJ 1274 裸二分图匹配
  6. backtrack下vim的使用
  7. 【问题】js 改变鼠标样式,chrome浏览器不能立即更新,暂没有解决办法
  8. [转]倍数提高工作效率的 Android Studio 奇技
  9. poj 1019
  10. 浅谈Android应用性能之内存
  11. 数据流模型、Storm数据流模型
  12. C随便练练手的题
  13. java中classPath和Xpath问题
  14. Android项目实战手机安全卫士(01)
  15. PHP_SELF、 SCRIPT_NAME、 REQUEST_URI差别
  16. 概率图形模型(PGM)学习笔记(四)-贝叶斯网络-伯努利贝叶斯-贝叶斯多项式
  17. C#在winform中读写ini文件
  18. C++关联容器知识总结
  19. Mysql之视图的操作
  20. django中url路由配置及渲染方式

热门文章

  1. redis 客户端命令
  2. QT学习笔记5:QMouseEvent鼠标事件简介
  3. PHP 笔记——自定义函数
  4. BZOJ.4552.[HEOI2016/TJOI2016]排序(线段树合并/二分 线段树)
  5. bzoj 3545/3551: [ONTAK2010]Peaks -- 主席树,最小生成树,倍增
  6. 和程序有关的一个游戏<<mu complex>> 攻略
  7. 背景建模或前景检測之PBAS
  8. windows设置共享
  9. linu下修改mysql数据库面
  10. unity 质量设置 Quality Settings