Demo模塊
主要覆蓋如下3部分:
dubbo-api : 存放公共接口,只是提供接口,不提供實(shí)現(xiàn);?
dubbo-consumer : 調(diào)用遠(yuǎn)程服務(wù),通過引用dubbo-api對應(yīng)的接口包,配置文件中寫明調(diào)用接口、注冊中心信息等;?
dubbo-provider : 提供遠(yuǎn)程服務(wù),對于dubbo-api中接口的實(shí)現(xiàn);
重點(diǎn)注意相關(guān)配置文件的修改
服務(wù)啟動(dòng)順序:zookeeper(service?zkcluster?start?) –> dubbo-provider –> dubbo-consumer-user
配置服務(wù)注冊地址:dubbo.registry.address?=?zookeeper://zk_node_ip1:2181?backup=zk_node_ip2:2181,zk_node_ip3:2181
服務(wù)提供者
其典型配置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">
? ? <!--定義了提供方應(yīng)用信息,用于計(jì)算依賴關(guān)系;在 dubbo-admin 或 dubbo-monitor 會(huì)顯示這個(gè)名字,方便辨識(shí)-->
? ? <dubbo:application name="demotest-provider" owner="programmer" organization="dubbox"/>
? ? <!--使用 zookeeper 注冊中心暴露服務(wù),注意要先開啟 zookeeper-->
? ? <dubbo:registry address="zookeeper://zk_node_ip1:2181?backup=zk_node_ip2:2181,zk_node_ip3:2181 "/>
? ? <!-- 用dubbo協(xié)議在20880端口暴露服務(wù) -->
? ? <dubbo:protocol name="dubbo" port="20880" />
? ? <!--使用 dubbo 協(xié)議實(shí)現(xiàn)定義好的 api.PermissionService 接口-->
? ? <dubbo:service interface="com.alibaba.dubbo.demo.DemoService" ref="demoService" protocol="dubbo" />
? ? <!--具體實(shí)現(xiàn)該接口的 bean-->
? ? <bean id="demoService" class="com.alibaba.dubbo.demo.impl.DemoServiceImpl"/>
</beans>
服務(wù)調(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 定時(shí)推送-->
? ? <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>
備注