配置多注册中心
打开 provider 模块的 spring-provider.xml 配置文件,修改成如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!-- 添加 DUBBO SCHEMA --> 3 <beans xmlns="http://www.springframework.org/schema/beans" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" 6 xsi:schemaLocation="http://www.springframework.org/schema/beans 7 http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo 8 http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> 9 10 <!-- 应用名 -->11 <dubbo:application name="dubbodemo-provider"/>12 <!-- 连接到哪个本地注册中心 -->13 <dubbo:registry id="dubbodemo" address="zookeeper://localhost:2181"/>14 <dubbo:registry id="dubbodemo_copy" address="zookeeper://localhost:2182"/>15 <!-- 用dubbo协议在20880端口暴露服务 -->16 <dubbo:protocol name="dubbo" port="28080"/>17 <!-- 声明需要暴露的服务接口 -->18 <dubbo:service registry="dubbodemo" timeout="3000" interface="com.chanshuyi.service.IUserService" ref="userService"/>19 <dubbo:service registry="dubbodemo_copy" timeout="3000" interface="com.chanshuyi.service.IBookService" ref="bookService"/>20 </beans>
第 13、14 行分别声明了一个 id 为 “dubbodemo”、“dubbodemo_copy”的注册中心,分别对应本地机器的 2181 和 2182 端口。
第 18 行暴漏了 IUserService 接口并显式指定将其注册到 dubbodemo 注册中心。
第 19 行暴漏了 IBookService 接口并显示指定将其注册到 dubbodemo_copy 注册中心。
zookeeper查看dubbo注册信息
查看zookeeper中dubbo服务的生产者和消费者注册信息:
1.进入zookepeer的安装目录下
2.进入bin ./zkCli.sh -server ip+端口号
如图所示
3.查看dubbo服务提供的对外接口,及消息提供者 :ls /dubbo
4.ls /dubbo/**/consumers //查看消费者命令
ls /dubbo/**/providers //查看服务提供者命令
可以看到这个服务既有消费端也有生产端