文章目录
消费端直连服务端
服务消费端配置
<dubbo:application name="consumer"/>
<dubbo:registry address="N/A"/>
<dubbo:reference id="someServicce" interface="com.test.SomeService" url="dubbo://localhost:20880"/>
服务提供端配置
<dubbo:application name="provider"/>
<dubbo:protocol name="dubbo" port="20880"/>
<bean id="someService" class="com.test.SomeServiceImpl"/>
<dubbo:service interface="com.test.SomeService"/>
直连方式不能配置考可用,并且不利于服务治理,一般在测试的时候用。
配置注册中心
<dubbo:registry protocol="zookeeper" address="localhost:2181">
管控平台
git 地址
https://github.com/apache/dubbo-admin
下载
git clone git@github.com:apache/dubbo-admin.git
mvn clean package
cd /workspace/dubbo-admin/dubbo-admin/dubbo-admin-distribution/target
运行
java -jar dubbo-admin-0.1.jar
关闭服务检查
避免当provider端没有启动时,启动consumer端保存
check="false"
<dubbo:reference id="someService" interface="com.test.SomeService" check="false"/>
多版本与服务分组
provider:
<dubbo:application name="providerapp"/>
<dubbo:registry protocol="zookeeper" address="localhost:2181"/>
<dubbo:protocol name="dubbo" port="2181"/>
<bean id="aliPay01" class="com.pay.AliPay01"/>
<bean id="aliPay02" class="com.pay.AliPay01"/>
<bean id="jdPay" class="com.pay.JDPay"/>
<dubbo:service interface="com.pay.Pay" ref="aliPay01" version="0.0.1" group="ali"/>
<dubbo:service interface="com.pay.Pay" ref="aliPay02" version="0.0.2" group="ali"/>
<dubbo:service interface="com.pay.Pay" ref="jdPay" group="jdPay"/>
consumer:
<dubbo:application name="consumerapp"/>
<dubbo:registry protocol="zookeeper" address="localhost:2181"/>
<dubbo:reference interface="com.pay.Pay" id="aliPay01" group="ali" version="0.0.1"/>
<dubbo:reference interface="com.pay.Pay" id="aliPay02" group="ali" version="0.0.2"/>
<dubbo:reference interface="com.pay.Pay" id="jdPay" group="jd"/>
多协议支持
dubbo支持多种协议
- dubbo
- http
- rest
- webservice
- rmi
- thrift
- hession
负载均衡
- rondom 随机(默认)
- roundrobin 轮训
- lastactive 流量少的节点优先级最低
- consistenthash 一致性哈希(根据方法参数)
容错策略
- failover 失效转移(默认)
- fastfail 快速失效,通常用在非幂等操作上
- fastsafe 直接忽略
- failback 稍后重试
- broadcast 广播策略,有一个节点返回成功,则认为成功
负载均衡策略既可以设置在provider端也可以设置在consumer端,