Dubbo配置详解: 服务提供方配置: <!-- 提供方应用信息,用于计算依赖关系 --> <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" /> <!-- 和本地bean一样实现服务 --> <bean id="demoService" class="com.alibaba.dubbo.demo.provider.DemoServiceImpl" />
服务消费方配置: <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 --> <dubbo:application name="consumer-of-helloworld-app" /> <!-- 使用zookeeper注册中心暴露发现服务地址 --> <dubbo:registry address="zookeeper://224.5.6.7:1234" /> <!-- 生成远程服务代理,可以和本地bean一样使用demoService --> <dubbo:reference id="demoService" interface="com.alibaba.dubbo.demo.DemoService" />
常用消费者的属性: <!-- check属性检查接口所在服务是否能正常调用,为false时也就是BarService是否可以正常调用不影响本应用的启动,当为true的时候如果该接口挂了,本应用就起不起来了--> <dubbo:reference interface="com.foo.BarService" check="false" /> <!-- 关闭所有服务的启动时检查 --> <dubbo:consumer check="false" /> <!-- 配置重试次数,最好只用于读的重试,写操作可能会引起多次写入 下面三个任意一个配置就行 默认retries="0"--> <dubbo:service retries="2" /> <dubbo:reference retries="2" /> <dubbo:reference> <dubbo:method name="findFoo" retries="2" /> </dubbo:reference>
Dubbo的负载均衡配置: 配置如: <dubbo:service interface="..." loadbalance="roundrobin" /> 或: <dubbo:reference interface="..." loadbalance="roundrobin" />
当一个接口有多种实现时,可以用group区分。 <dubbo:service group="feedback" interface="com.xxx.IndexService" /> dubbo:service group="member" interface="com.xxx.IndexService" /> <dubbo:reference id="feedbackIndexService" group="feedback" interface="com.xxx.IndexService" /> <dubbo:reference id="memberIndexService" group="member" interface="com.xxx.IndexService" />
|