Dubbo3 多注冊(cè)中心配置

2022-03-30 16:47 更新

在 Dubbo 中把同一個(gè)服務(wù)注冊(cè)到多個(gè)注冊(cè)中心上

Dubbo 支持同一服務(wù)向多注冊(cè)中心同時(shí)注冊(cè),或者不同服務(wù)分別注冊(cè)到不同的注冊(cè)中心上去,甚至可以同時(shí)引用注冊(cè)在不同注冊(cè)中心上的同名服務(wù)。另外,注冊(cè)中心是支持自定義擴(kuò)展的 。

多注冊(cè)中心注冊(cè)

比如:中文站有些服務(wù)來(lái)不及在青島部署,只在杭州部署,而青島的其它應(yīng)用需要引用此服務(wù),就可以將服務(wù)同時(shí)注冊(cè)到兩個(gè)注冊(cè)中心。

<?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://dubbo.apache.org/schema/dubbo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
    <dubbo:application name="world"  />
    <!-- 多注冊(cè)中心配置 -->
    <dubbo:registry id="hangzhouRegistry" address="10.20.141.150:9090" />
    <dubbo:registry id="qingdaoRegistry" address="10.20.141.151:9010" default="false" />
    <!-- 向多個(gè)注冊(cè)中心注冊(cè) -->
    <dubbo:service interface="com.alibaba.hello.api.HelloService" version="1.0.0" ref="helloService" registry="hangzhouRegistry,qingdaoRegistry" />
</beans>

不同服務(wù)使用不同注冊(cè)中心

比如:CRM 有些服務(wù)是專(zhuān)門(mén)為國(guó)際站設(shè)計(jì)的,有些服務(wù)是專(zhuān)門(mén)為中文站設(shè)計(jì)的。

<?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://dubbo.apache.org/schema/dubbo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
    <dubbo:application name="world"  />
    <!-- 多注冊(cè)中心配置 -->
    <dubbo:registry id="chinaRegistry" address="10.20.141.150:9090" />
    <dubbo:registry id="intlRegistry" address="10.20.154.177:9010" default="false" />
    <!-- 向中文站注冊(cè)中心注冊(cè) -->
    <dubbo:service interface="com.alibaba.hello.api.HelloService" version="1.0.0" ref="helloService" registry="chinaRegistry" />
    <!-- 向國(guó)際站注冊(cè)中心注冊(cè) -->
    <dubbo:service interface="com.alibaba.hello.api.DemoService" version="1.0.0" ref="demoService" registry="intlRegistry" />
</beans>

多注冊(cè)中心引用

比如:CRM 需同時(shí)調(diào)用中文站和國(guó)際站的 PC2 服務(wù),PC2 在中文站和國(guó)際站均有部署,接口及版本號(hào)都一樣,但連的數(shù)據(jù)庫(kù)不一樣。

<?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://dubbo.apache.org/schema/dubbo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
    <dubbo:application name="world"  />
    <!-- 多注冊(cè)中心配置 -->
    <dubbo:registry id="chinaRegistry" address="10.20.141.150:9090" />
    <dubbo:registry id="intlRegistry" address="10.20.154.177:9010" default="false" />
    <!-- 引用中文站服務(wù) -->
    <dubbo:reference id="chinaHelloService" interface="com.alibaba.hello.api.HelloService" version="1.0.0" registry="chinaRegistry" />
    <!-- 引用國(guó)際站站服務(wù) -->
    <dubbo:reference id="intlHelloService" interface="com.alibaba.hello.api.HelloService" version="1.0.0" registry="intlRegistry" />
</beans>

如果只是測(cè)試環(huán)境臨時(shí)需要連接兩個(gè)不同注冊(cè)中心,使用豎號(hào)分隔多個(gè)不同注冊(cè)中心地址:

<?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://dubbo.apache.org/schema/dubbo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
    <dubbo:application name="world"  />
    <!-- 多注冊(cè)中心配置,豎號(hào)分隔表示同時(shí)連接多個(gè)不同注冊(cè)中心,同一注冊(cè)中心的多個(gè)集群地址用逗號(hào)分隔 -->
    <dubbo:registry address="10.20.141.150:9090|10.20.154.177:9010" />
    <!-- 引用服務(wù) -->
    <dubbo:reference id="helloService" interface="com.alibaba.hello.api.HelloService" version="1.0.0" />
</beans>


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)