Dubbo使用集锦

dubbo 启动时会出现多个IP

注册中心配置的地址是127.0.0.1,但会出现另外一个ip
ping这个ip是ping通,但问网管却没有这个ip
然后通过ifconfig -a|grep {这个IP} 就出现在vmnetwork里,
这证明是虚拟机网卡ip

dubbo启动订阅服务或暴露服务特别慢

dubbo注册中心默认缓存文件会上锁

当多个provider使用同一个注册中心同时启动时会出现缓存文件上锁,导致不能正常启动,
默认是从 ~/.dubbo/ 目录下一个文件作为缓存文件,
需要为不同的provider 配置缓存文件位置,即:
<pre>
<dubbo:registry file="XXX" />
</pre>

dubbo telnet 调试

登录到指定的provider
<pre>
telnet {provider所在ip} {provider的暴露端口}
e.g: telnet 127.0.0.1 2206
</pre>

查看当前provider的服务
<pre>
ls
</pre>

查看指定服务的所有方法
<pre>
ls xxxService
</pre>

调用方法(具体怎么调用在查一下)
<pre>
invoke xxxService xxxx
</pre>

dubbo-admin 查看服务报404错误

原因是服务分组名称使用了ip地址作为分组名称,改为非ip地址就可以了,或者换个分组名称。

dubbo启动时非常慢

下面是在网上找到的其中一个描述

Zookeeper连接速度很慢,Dubbo初始化很慢,应用启动很慢的问题
发现线下环境迁移到新机器后,应用启动变得很慢,本来十几秒启动的应用,变成几分钟才能启动。
启动过程没有报错,只是Dubbo的注册信息日志一直在比较慢地刷。
开始怀疑是网络问题,但是检查了iptables没有开启,用iptraf查看流量,也不高。机器的空闲内存也足够。
再检查Zookeeper的配置,磁盘的空间,应用的dubbo配置,jvm配置,发现都没有问题。
没办法了,用jprofiler来测试下,发现“org.I0Itec.zkclient.ZkClient$1.call”,这个调用耗时比较大。
这样确认是zookeeper本身比较慢,不是应用的问题。
用下面的zookeeper benchmark工具测试了下性能,发现read速度还可能,create/write速度非常慢,qps只有个位数。
于是问了下运维的同事,原来新机器是用共享磁盘的,所以速度很慢。
而zookeeper每次write请求都要写到log日志,并刷到磁盘里,所以非常的慢。
后来运维的同事换为本地磁盘,一切恢复正常。
http://blog.csdn.net/hengyunabc/article/details/19006911

而我发现的解决方法是:
如果是本地开发机器的话,那要把 源代码项目 切换一下其他目录,重新把源代码check out 下来,重新编译,最后运行就可以了,不知道是为什么
如果这种方法不行,那换个zookeeper服务。

我这里用的是idea + maven 来调试的,有时候idea 启动dubbo服务的时候突然变得很慢,也是不知道为什么,可能跟idea 启动时的参数有关系,cd 到服务主程序jar目录,并通过java -jar 的方式来运行 跟idea运行 的jar文件的话,又很快。。。所以后来重新导入一下项目,又可以了,估计是有一些文件可能生成了以后没有清除掉。

另外还发现一个问题,突然变慢可能跟 debug 跟run 模式有关系,使用debug模式要30分钟才能启动好,用run模式就跟普通 java -jar模式运行差不多。

而且当我用run模式跑了以后,再切换debug模式并且把所有断点清除掉,就恢复正常了。

原来还以为是zookeeper有问题,在zookeeper发现日志:

Got user-level KeeperException when processing sessionid:0x15eadf1e4610001 type:create cxid:0x4fb zxid:0x6ba txntype:-1 reqpath:n/a Error Path:/dubbo Error:KeeperErrorCode = NodeExists for /dubbo

结果发现不是.........

找到了官方github 方法:
https://github.com/alibaba/dubbo/issues/885

dubbo 打Jar包时,有一些非maven仓库(即scope=syetem的)依赖包无法放进classpath里

https://www.jianshu.com/p/8ef0b5cdcd44

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,288评论 19 139
  • Dubbo是什么 Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式...
    Coselding阅读 17,311评论 3 196
  • 内容简介此篇文章是介绍Dubbo以及它的简单使用,会列举运用spring boot + dubbo搭建项目运用du...
    Little_Dragon_阅读 852评论 0 3
  • 前段时间在简书看到一篇文章《我近七年的失败经历》,又引起了我心中很深层次的焦虑或者说困惑。高中时班级里牛人众多,有...
    不是苹果阅读 280评论 6 1
  • 冉:干嘛盯着我看? 我:我突然间不喜欢男神了! 冉:怎么了突然之间,电光火石,我做了什么吗? 我:没有就是突然间不...
    纠结又懒惰的爱学习少女阅读 219评论 0 0