谨慎DUBBO超时时间和重试机制

DUBBO消费端设置额超时时间不能随心所欲,需要根据业务实际情况来设定,如果设置的时间太短,导致复杂业务本来就需要很长时间完成,导致在设定的超时时间内无法完成正常的业务处理。如果消费端达到超时时间,那么dubbo会进行重试机制(如果配置了dubbo.reference.retries>1),这种情况其实给服务提供端带来莫名的压力,而压力是正常值*dubbo.reference.retries,最终dubbo的消费端会出现RpcException提示retry了多少次还是失败。这种情况就是没有合理设置接口超时时间带来的问题。 


说完超时时间,再说说重试机制。重试机制是在等待超时时间到了之后或者服务提供端出现异常进行再次重试的机制。这个并不代表服务提供端完全执行失败了。所以不是所有接口都适合重试,如果一个服务是不等幂,那么不适合重试的机制,因为会存在重复提交的问题,否则是可以进行重试的。比如提交一个订单的接口是不能进行重试的,而查询类型的接口是可以重试的

你可能感兴趣的:(谨慎DUBBO超时时间和重试机制)