今天要做功能,涉及a和b两个系统,a系统是rpc服务提供方,b系统是服务调用方。
a系统已经对外提供rpc服务,但是,b系统还未接入dubbo,所以,我就开始了springboot+dubbo+zookeeper的整合之路
由于想看到服务调用方和服务提供方,先安装了dubbo控制台,官方地址:
https://github.com/apache/incubator-dubbo-ops/blob/develop/README_ZH.md
你可以用idea下载到本地,然后运行,也可以编译成jar,用java -jar xxxx.jar执行你的jar包
前提,你要在本地安装zookeeper,安装步骤请看我写的另外一片文章
https://blog.csdn.net/lvhonglei1987/article/details/85103872
然后执行启动和查看状态
zkserver start #启动
zkserver stop #停止
zkserver status #状态
具体整合的步骤我就不讲了,网上一搜索一大堆,我出现的问题是jar包冲突导致springboot启动异常慢,哪怕启动好了,在请求url的时候,也会显示不可用,其实还是没有启动好。
关键问题出在zookeeper中的logback和log4j的冲突,只需要在使用的pom.xml中添加如下代码
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
</dependency>
排除log4j2的jar包,就可以了。
再总结一下:
springboot+dubbo+zookeeper整合
1.本地安装zookeeper
2.本地安装dubbo的admin
3.把rpc提供方注册到本地zookeeper
4.rpc消费方也注册到本地zookeeper
通过以上几个步骤,实现dubbo的rpc接口本地调试
不会写配置文件的,可以看看这个类的源码:DubboProperties