Dubbo配置
1.配置文件的加载顺序
虚拟机参数
xml配置文件
properties配置文件
2。dubbo启动检查 。
在默认的情况下,当服务调用者项目启动的时候会自动检查要调用的服务是否正常,如果被调用的服务不正常的话,其自己就会启动失败。为了让项目能正常启动,而不去检查所依赖的服务是否正常,可以关闭服务检查。
<dubbo:consumer check="false" ></dubbo:consumer>
3.dubbo配置超时与配置覆盖
当服务消费者调用服务提供者服务的时候,会存在超时的情况;而Dubbo提供为服务消费者设置调用服务提供者服务的超时时间,也提供了服务提供者为其自身提供的服务设置超时时间;
对于服务提供者和服务消费者Dubbo均提供了以下四种粒度的设置
3.1 方法级别
3.2.接口级别
3.3服务消费者级别
3.4 服务提供者级别
优先级为:
方法级优先,接口级次之,全局配置再次之
如果级别一样,则消费者方优先,提供方次之。
4.重试次数
通过 retries设置重试次数,不包含第一次调用,0代表不重试,对于幂等(设置重试次数)【查询、删除、修改】、非幂等(不能设置重试次数)如新增。如下设置,调用userService失败后会重试3次,加上第一次的调用,若调用一直失败的话,总共会调用4次。
<dubbo:reference interface="com.service.UserService"
id="userService" timeout="3000" retries="3" >
</dubbo:reference>
5.dubbo配置多版本
当一个接口实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互间不引用。可以按照以下的步骤进行版本迁移(Dubbo对于多版本的支持的易用性上做得非常好)
0. 在低压力时间段,先升级一半提供者为新版本
1. 再将所有消费者升级为新版本
2. 然后将剩下的一半提供者升级为新版本
老版本服务提供者配置:
<dubbo:service interface="com.foo.BarService" version="1.0.0" />
新版本服务提供者配置:
<dubbo:service interface="com.foo.BarService" version="2.0.0" />
老版本服务消费者配置:
<dubbo:reference id="barService" interface="com.foo.BarService" version="1.0.0" />
新版本服务消费者配置:
<dubbo:reference id="barService" interface="com.foo.BarService" version="2.0.0" />
如果不需要区分版本,可以按照以下的方式配置 :
<dubbo:reference id="barService" interface="com.foo.BarService" version="*" />