dubbo服务调用网络失败处理
在使用dubbo的时候,client -> a服务。 在调用的过程中如果网络超时,则会认为处理不成功,实际上a服务只是执行的比较慢而已,最后执行成功了。
这种网络连接失败的问题,client端如何感知到呢?
如果是自己开发的话,可以使用a服务返回回执,这种做法,如果client没有收到回执则认为也是失败。
但,我想知道dubbo有没有自己的处理方法?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
实际上没法解决,我们最终选择了日志+人工补救措施
可以使用dubbo的快速失败,当调用超时的时候直接返回失败,不会重复调用;
有想过,但是有一个问题,业务依赖返回结果的,如果结果是失败那么还要在client端撤销之前的业务。
时间太长的话,建议用异步调用,然后用消息通知结果,这样就不用等待
项目有严格规范,不允许设置太长,只允许程序优化。
设置timeout的值 调整为 比业务执行时间大一点。
或者关闭retry