Dubbo多註冊中心和Zookeeper服務的遷移

1、Dubbo多註冊中心vue

一、 應用場景spring

例如阿里有些服務來不及在青島部署,只在杭州部署,而青島的其它應用須要引用此服務,就能夠將服務同時註冊到兩個註冊中心。數據庫

consumer.xmlapi

<?xml version="1.0" encoding="UTF-8"?>  app

<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"  code

    xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd">  視頻

   

    <dubbo:application name="world"  />  xml

   

    <!-- 多註冊中心配置 -->  

    <dubbo:registry id="hangzhouRegistry" address="10.20.141.150:9090" />  

    <dubbo:registry id="qingdaoRegistry" address="10.20.141.151:9010" default="false" />  

   

    <!-- 向多個註冊中心註冊 -->  

    <dubbo:service interface="com.alibaba.hello.api.HelloService" version="1.0.0" ref="helloService" registry="hangzhouRegistry,qingdaoRegistry" />  

   

</beans>


二、不一樣服務使用不一樣註冊中心

 

好比:CRM有些服務是專門爲國際站設計的,有些服務是專門爲中文站設計的。

consumer.xml

<?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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd">  

   

    <dubbo:application name="world"  />  

   

    <!-- 多註冊中心配置 -->  

    <dubbo:registry id="chinaRegistry" address="10.20.141.150:9090" />  

    <dubbo:registry id="intlRegistry" address="10.20.154.177:9010" default="false" />  

   

    <!-- 向中文站註冊中心註冊 -->  

    <dubbo:service interface="com.alibaba.hello.api.HelloService" version="1.0.0" ref="helloService" registry="chinaRegistry" />  

   

    <!-- 向國際站註冊中心註冊 -->  

    <dubbo:service interface="com.alibaba.hello.api.DemoService" version="1.0.0" ref="demoService" registry="intlRegistry" />  

   

</beans> 

三、多註冊中心引用

 

好比:CRM需同時調用中文站和國際站的PC2服務,PC2在中文站和國際站均有部署,接口及版本號都同樣,但連的數據庫不同。

consumer.xml

<?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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd">  

   

    <dubbo:application name="world"  />  

   

    <!-- 多註冊中心配置 -->  

    <dubbo:registry id="chinaRegistry" address="10.20.141.150:9090" />  

    <dubbo:registry id="intlRegistry" address="10.20.154.177:9010" default="false" />  

   

    <!-- 引用中文站服務 -->  

    <dubbo:reference id="chinaHelloService" interface="com.alibaba.hello.api.HelloService" version="1.0.0" registry="chinaRegistry" />  

   

    <!-- 引用國際站站服務 -->  

    <dubbo:reference id="intlHelloService" interface="com.alibaba.hello.api.HelloService" version="1.0.0" registry="intlRegistry" />  

   

</beans>  

 

consumer.xml若是隻是測試環境臨時須要鏈接兩個不一樣註冊中心,使用豎號分隔多個不一樣註冊中心地址:

 

<?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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd">  

   

    <dubbo:application name="world"  />  

   

    <!-- 多註冊中心配置,豎號分隔表示同時鏈接多個不一樣註冊中心,同一註冊中心的多個集羣地址用逗號分隔 -->  

    <dubbo:registry address="10.20.141.150:9090|10.20.154.177:9010" />  

   

    <!-- 引用服務 -->  

    <dubbo:reference id="helloService" interface="com.alibaba.hello.api.HelloService" version="1.0.0" />  

   

</beans>  

2、Dubbo多註冊中心的服務遷移

一、顧名思義,將服務從一個地兒遷到另外一個地兒,例如從A地遷到B地。

二、如何實現多註冊中心的服務遷移

步驟一

     添加B地的註冊中心地址,AB兩地的註冊中心間用英文的|分割,(同一個服務集羣的zk節點使用逗號分割)

     例如:dubbo.registry.address=192.168.220.128:2181|192.168.221.129:2181,192.168.221.130:2181,192.168.221.131:2181 這就是兩個註冊中心配置sample

步驟二

     Jenkins從新構建服務,zk1自己就是含有所有服務的,如今構建是將服務部署到zk2集羣中。這樣就可實現A的zk和B地的zk兩套註冊中心享有兩套相同的服務

步驟三

     把服務的消費端都構建一遍;

步驟四

     先取消服務消費者調用zk1的服務,具體實施就是去掉第一個zk的配置,而後構建消費者

步驟五

     把服務提供者的配置也取消;而後從新構建服務提供者。這樣就完成了將zk1中的全部服務遷移到zk2中,且去除zk1中的全部服務。

海量是視頻獲取 vue angular spring  dubbo

相關文章
相關標籤/搜索