今天要做功能,涉及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. 中添加如下代码

<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接口本地调试

收藏 打印