Dubbo 之 注册中心 与zookeeper 集成使用

前面讲述了Dubbo 与Spring,Dubbo与SpringBoot 的直连环境的集成演示,今天我们讲述如与注册中心进行集成

与zookeeper集成,其实很简单,我们只需要简单的几步就可以完成,现在我们需要先将我们需要的zookeeper准备好

1)下载zookeeper就不具体演示了,大家可以去官网下载,下载下来是一个压缩包,我们解压即可。

解压之后,我们需要找到我们项目的conf文件,然后找到【zoo_sample.cfg】,重新命名为【zoo.cfg】;我们这里只是简单的演示注册中心的功能,所以配置基本不需要任何改动,一切使用默认即可

然后找到我们的【bin】目录,window操作系统双击【zkServer.cmd】即可启动;linux操作系统运行【zkServer.sh】文件,启动之后效果:

默认端口2181

接下来我们分别演示spring+dubbo环境的修改和springboot+dubbo环境的修改

2)修改我们之前的项目 (spring+dubbo),关于项目的创建请看【Dubbo 之 Spring 直连提供者的使用】;

首先修改我们的provider端:

修改配置文件:

    <!--应用名称-->
	<dubbo:application name="dubbo-provider"  />
	<!--dubbo协议暴露在20880端口-->
	<dubbo:protocol name="dubbo" port="20880" />
	<!--使用zookeeper注册中心-->
	<dubbo:registry address="zookeeper://localhost:2181"/>
	<!--spring中配置bean-->
	<bean id="serviceImpl"  class="com.lf.dubbo.impl.ServiceAPIImpl"></bean>
	<!--声明需要暴露的服务接口-->
	<dubbo:service interface="com.lf.dubbo.ServiceAPI"
				   ref="serviceImpl" />
	
	<!--下面是使用直连环境的配置,方便与注册中心的方式做个对比-->
	<!--&lt;!&ndash;应用名称&ndash;&gt;
	<dubbo:application name="dubbo-provider"  />
	&lt;!&ndash;dubbo协议暴露在20880端口&ndash;&gt;
	<dubbo:protocol name="dubbo" port="20880" />
	&lt;!&ndash;spring中配置bean&ndash;&gt;
	<bean id="serviceImpl"  class="com.lf.dubbo.impl.ServiceAPIImpl"></bean>
	<dubbo:service registry="N/A"
				   interface="com.lf.dubbo.ServiceAPI"
				   ref="serviceImpl" />-->

主要是添加了注册中心的配置【<dubbo:registry address="zookeeper://localhost:2181"/>】

然后修改我们的consumer端

修改配置文件:

    <!--使用zookeeper注册中心-->
	<dubbo:registry address="zookeeper://localhost:2181"/>
	<!--应用名称-->
	<dubbo:application name="dubbo-consumer"  />
	<!--声明需要暴露的服务接口-->
	<dubbo:reference id="consumerService"
				   interface="com.lf.dubbo.ServiceAPI"/>

	<!--下面是使用直连环境的配置,方便与注册中心的方式做个对比-->
	<!--&lt;!&ndash;应用名称&ndash;&gt;
	<dubbo:application name="dubbo-consumer"  />
	&lt;!&ndash;声明需要暴露的服务接口&ndash;&gt;
	<dubbo:reference id="consumerService"
					 interface="com.lf.dubbo.ServiceAPI"
					 url="dubbo://localhost:20880" />-->

两端修改完毕之后,重启,然后看我们的zookeeper,已经成功注册进来;

控制台输入【大家好】,调用成功,配置完成

3)修改我们之前的项目 (springboot+dubbo),关于项目的创建请看【Dubbo 之 SpringBoot 直连提供者的使用】; 

依然第一步修改我们的provider端

这里需要我们引入相关的依赖,因为spring环境所有jar早已准备好,所以省略了这一步;

引入【zkclient】

        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.10</version>
        </dependency>

修改配置文件:

#注册中心模式
spring.application.name=dubbo-spring-boot-starter
spring.dubbo.server=true
spring.dubbo.registry=zookeeper://localhost:2081

#直连模式配置
#spring.application.name=dubbo-spring-boot-starter
#spring.dubbo.server=true
#spring.dubbo.registry=N/A

完毕

然后修改我们的consumer端

同样映入依赖:

        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.10</version>
        </dependency>

修改配置文件:

spring.application.name=dubbo-spring-boot-consumer-starter
#注册中心模式
spring.dubbo.registry=zookeeper://localhost:2081

修改我们的【ConsumerImpl】类

@Component
public class ConsumerImpl {

    /**
     * 直连环境时候的配置
     * @Reference(url = "dubbo://localhost:20880")
     */
    /**
     * z注册中心模式的配置
     */
    @Reference(interfaceClass = ServiceAPI.class)
    ServiceAPI serviceAPI;

    public String sendMessage(String msg){
        return serviceAPI.getMessage(msg);
    }
}

启动项目,看到控制台输出日志

项目配置成功

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值