Dubbo重试次数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nangeali/article/details/82470268

重试次数

不配置,默认重试2次
不算第一个调用,一共会调用三次

参考文档
http://dubbo.apache.org/zh-cn/docs/user/references/xml/dubbo-consumer.html
这里写图片描述

轮询机制

相同的服务提供多份

比如
调用订单服务,订单服务提供了三份
默认重试两次

第一次,调用第一份订单服务,调用失败
第二次,会调用第二份订单服务,也调用失败
第三次,会调用第三份订单服务,也调用失败
不再调用,返回错误提示信息

小结

如果,调用失败,会在重试次数的范围之内
尽可能调用更多的服务(同一个服务,部署多份)
只要有一个成功,就调用成功

幂等性设计

幂等,调用一个方法多次
调用多次与调用一次,产生的效果相同
比如,查询、修改、删除操作

非幂等,调用一个方法多次
调用多次与调用一次,产生的结果不同
比如,新增操作

在幂等性方法上,设置重试次数
在非幂等性方法上,不能设置重试次数

比如,新增操作请求
超时了,在超时的时候,添加请求已经发送给数据库
下一次,又去重试,又把添加请求发送到数据库
数据库会重复操作很多遍

系统设计
在设计系统的时候,应该考虑好幂等性设计
非幂等性的,重试次数设置为0
不重试,出错了记录日志

猜你喜欢

转载自blog.csdn.net/nangeali/article/details/82470268