dubbo配置
说明:以下解释结合了官方解释、实践和笔者自己的理解
使用注册中心的情况下:
1. 作为服务提供者,应该配置的信息包括:<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="hello-world-app"/>
<!-- 使用zookeeper注册中心注册服务(即暴露服务地址) -->
<dubbo:registry address="zookeeper://224.5.6.7:1234"/>
<!-- 声明服务采用的协议为dubbo,同时指定服务占据20880端口 -->
<dubbo:protocol name="dubbo" port="20880"/>
<!-- 声明需要暴露的服务接口,即将需要暴露的服务接口及其具体实现注册到注册中心 -->
<dubbo:service interface="com.alibaba.dubbo.demo.DemoService" ref="demoService"/>
<!-- 声明服务实现类(就是普通的spring bean配置),此bean被spring容器实例化后便存在与service provider的进程内存中,等待
service consumer的调用
-->
<bean id="demoService" class="com.alibaba.dubbo.demo.provider.DemoServiceImpl"/>
2. 作为服务消费者,应该配置的信息包括
<!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
<dubbo:application name="consumer-of-helloworld-app"/>
<!-- 使用zookeeper注册中心发现服务地址,注册订阅 -->
<dubbo:registry address="zookeeper://224.5.6.7:1234"/>
<!-- 生成远程服务代理,可以和本地bean一样使用demoService,即消费方根据服务接口和服务地址等信息生成远程具体服务的代理对象,
通过调用该代理对象的方法,进行RPC调用,进而触发远程具体服务的调用。
其中的id属性便是给生成的远程服务代理对象起了一个名字,这样,消费方便可以像使用其它bean一样使用该远程代理服务对象。
在spring容器中,该远程代理服务对象就是一个bean。
-->
<dubbo:reference id="demoService" interface="com.alibaba.dubbo.demo.DemoService"/>
3. 服务提供者和服务消费者共有的一些信息
1)服务接口应该共有
附录
参考资料:
[1]. http://dubbo.io/User+Guide-zh.htm