Dubbo+ZK+Spring整合Demo

Demo模塊

主要覆蓋如下3部分:

dubbo-api : 存放公共接口,只是提供接口,不提供實現(xiàn);?

dubbo-consumer : 調(diào)用遠程服務,通過引用dubbo-api對應的接口包,配置文件中寫明調(diào)用接口、注冊中心信息等;?

dubbo-provider : 提供遠程服務,對于dubbo-api中接口的實現(xiàn);

重點注意相關配置文件的修改

服務啟動順序:zookeeper(service?zkcluster?start?) –> dubbo-provider –> dubbo-consumer-user

配置服務注冊地址:dubbo.registry.address?=?zookeeper://zk_node_ip1:2181?backup=zk_node_ip2:2181,zk_node_ip3:2181

服務提供者

其典型配置provider.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/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-admin 或 dubbo-monitor 會顯示這個名字,方便辨識-->

? ? <dubbo:application name="demotest-provider" owner="programmer" organization="dubbox"/>

? ? <!--使用 zookeeper 注冊中心暴露服務,注意要先開啟 zookeeper-->

? ? <dubbo:registry address="zookeeper://zk_node_ip1:2181?backup=zk_node_ip2:2181,zk_node_ip3:2181 "/>

? ? <!-- 用dubbo協(xié)議在20880端口暴露服務 -->

? ? <dubbo:protocol name="dubbo" port="20880" />

? ? <!--使用 dubbo 協(xié)議實現(xiàn)定義好的 api.PermissionService 接口-->

? ? <dubbo:service interface="com.alibaba.dubbo.demo.DemoService" ref="demoService" protocol="dubbo" />

? ? <!--具體實現(xiàn)該接口的 bean-->

? ? <bean id="demoService" class="com.alibaba.dubbo.demo.impl.DemoServiceImpl"/>

</beans>

服務調(diào)用者

其典型配置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/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="demotest-consumer" owner="programmer" organization="dubbox"/>

<!--向 zookeeper 訂閱 provider 的地址,由 zookeeper 定時推送-->

? ? <dubbo:registry address="zookeeper://zk_node_ip1:2181?backup=zk_node_ip2:2181,zk_node_ip3:2181"/>

<!--使用 dubbo 協(xié)議調(diào)用定義好的 api.PermissionService 接口-->

? ? <dubbo:reference id="permissionService" interface="com.alibaba.dubbo.demo.DemoService"/>

</beans>

備注

參考github

dubbo-admin鏈接

dubbo持續(xù)開發(fā)地址

指導文檔

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容