dubbo优化
dubbo 的优化配置
在spring整合的配置文件中配置
1. 超时配置
在消费方调用服务方接口服务时,会发生如下超时错误,Dubbo消费方在调用服务时,超时时间默认是1000毫秒,这个时间可能比较短,如果一些复杂业务需要很长时间完成,这里会发生超时错误 ,我们可以手动设置一下超时时间,加大超时时间设置。
全局配置{
生产者(在applicationContext-service.xml中添加):
<!--全局参数配置,超时时间:5秒-->
<dubbo:provider timeout="5000" />
消费者(在springmvc.xml中添加):
<!--全局参数配置,超时时间:5秒-->
<dubbo:consumer timeout="5000" />
2重连配置-针对的是非幂等操作也就是增加操作,默认2次重连
dubbo在调用服务不成功时,默认会重试2次请求。如果此时做的是幂等操作(修改、删除或者查询),对真实数据不会造成影响,但如果是非幂等(增加)操作,此时会导致数据库数据多出2条记录。
幂等操作:在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。(例如:删、改、查)
我们可以根据需要设置重连次数,修改消费者的springmvc.xml, 增加retries=“0”,表示不重连。
<!--全局参数配置,超时时间:5秒-->
<dubbo:consumer timeout="5000" retries="0"/>
消费者缓存:
dubbo每次生成对应的代理对象后,都会将远程信息缓存到本地,即便zookeeper注册中心宕机了,也可以继续调用。只是新的服务无法再次注册