首页 > 编程知识 正文

dubbo的配置,dubbo重试源码

时间:2023-05-06 05:01:02 阅读:14028 作者:1326

dubbo启动时,缺省情况下有重试机制和超时机制。

超时机制的规则是,如果在一定时间内没有返回provider,则此次调用将视为失败。

重试机制在调用失败时再次调用。 如果在设置的调用次数内失败,则将此次请求视为异常,并抛出异常。

如果发生超时,通常业务处理太慢,可以由服务提供商运行。 jstack PID jstack.log分析线程卡在哪个方法调用中,这是很慢的原因。

如果无法调整性能,请增加时间输出。

在某些业务场景中,如果不注意配置超时和重试,可能会导致一些异常。

1 .超时设置

要在DUBBO消费者端设置超时时间,必须根据业务实际情况进行设置。

如果设置时间太短,一些复杂的业务可能需要很长时间才能完成,并且在设置的超时时间内无法完成正常的业务处理。

这样,当消费者端达到超时时间时,dubbo就会运行重试机制,不合理的重试可能会在一些特殊的业务场景中引起很多问题,需要合理设置接口超时时间。

例如,发送邮件时,可能会发送多个重复的邮件,执行注册请求时会插入多个重复的注册数据。

(1)合理安排超时和重新连接的思考

1 .对于核心的服务中心,删除dubbo超时重试机制,重新评估超时时间设置。

2 .业务处理代码必须放在服务端,客户端只进行参数验证和业务呼叫,不参与业务流程处理

)2) Dubbo超时和重新连接配置示例

2 .重联机制

如果dubbo调用服务失败,则缺省情况下重试两次。

由于Dubbo路由机制将超时请求路由到其他计算机,而不是本机尝试,因此Dubbo重试计算机也可以在一定程度上保证服务质量。

但是,如果不正确设置重试次数,则失败时会重试多次,在某个时间点会出现性能问题,调用方会继续重复调用。

如果系统请求是正常值的retries倍,系统压力就会变大,容易引起服务雪崩。 需要根据业务状况计划如何进行异常处理,何时重试。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。