DUBBO:多注册中心配置

dubbo-consumer.xml配置如下:

 <?xml version="1.0" encoding="UTF-8"?>
 <!-- 添加 DUBBO SCHEMA -->
 <beans xmlns="http://www.springframework.org/schema/beans"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
         xsi:schemaLocation="http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo
          http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
  
     <!-- 应用名 -->
     <dubbo:application name="dubbodemo-provider"/>
     <!-- 连接到哪个本地注册中心 -->
     <dubbo:registry id="dubbodemo" address="zookeeper://localhost:2181"/>
     <dubbo:registry id="dubbodemo_copy" address="zookeeper://localhost:2182"/>
     <!-- 用dubbo协议在20880端口暴露服务 -->
     <dubbo:protocol name="dubbo" port="28080"/>
     <!-- 声明需要暴露的服务接口 -->
     <dubbo:service registry="dubbodemo" timeout="3000" interface="com.chanshuyi.service.IUserService" ref="userService"/>
     <dubbo:service registry="dubbodemo_copy" timeout="3000" interface="com.chanshuyi.service.IBookService" ref="bookService"/>
 </beans>

第 13、14 行分别声明了一个 id 为 “dubbodemo”、“dubbodemo_copy”的注册中心,分别对应本地机器的 2181 和 2182 端口。

第 18 行暴漏了 IUserService 接口并显式指定将其注册到 dubbodemo 注册中心。

第 19 行暴漏了 IBookService 接口并显示指定将其注册到 dubbodemo_copy 注册中心。

如果在暴漏接口的时候没有指定注册到哪个注册中心,那么它会默认注册到所有的注册中心。

到这里,配置完成。下面将模拟多个注册中心,并启动服务。

自己的实例:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://code.alibabatech.com/schema/dubbo
       http://code.alibabatech.com/schema/dubbo/dubbo.xsd"
       default-lazy-init="false">

    <!-- 提供方应用信息,用于计算依赖关系 -->
    <!-- 使用zookeeper广播注册中心暴露服务地址 -->
    <dubbo:application name="baofu-admin"/>
    <dubbo:consumer timeout="10000" check="false"/>
    <!-- 连接到哪个本地注册中心 -->
    <dubbo:registry  id="default" default="true" protocol="zookeeper" address="${zookeeper.server.address}" timeout="10000"/>

    <dubbo:registry id="cloudMember" protocol="zookeeper"  address="${zookeeper.member.address}" timeout="10000"/>

    <!--监控-->
    <dubbo:monitor protocol="registry"/>

    <!--发送短信-->
    <dubbo:reference interface="com.baofoo.sms.facade.SmsFacade" id="smsFacade" check="false"/>
</beans>
<!--客户信息查询-->
    <dubbo:reference id="customerInfoQueryFacade"
                     interface="com....CustomerInfoQueryFacade"
                     registry="cloudMember"
                     retries="3"
                     timeout="60000"/>
   <dubbo:registry  id="default" default="true" protocol="zookeeper" address="${zookeeper.server.address}" timeout="10000"/>指:注册中心id="default" default="true" 下面的接口如果不写  registry指定注册中心的id 那就默认是default的注册中心
 <dubbo:registry id="cloudMember" protocol="zookeeper"  address="${zookeeper.member.address}" timeout="10000"/>指:注册中心id="cloudMember"的注册中心

猜你喜欢

转载自blog.csdn.net/caox_nazi/article/details/80549149