dubbo启动时默认有重试机制和超时机制。

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

重试机制在出现调用失败时,会再次调用。如果在配置的调用次数内都失败,则认为此次请求异常,抛出异常。

如果出现超时,通常是业务处理太慢,可在服务提供方执行:jstack PID > jstack.log 分析线程都卡在哪个方法调用上,这里就是慢的原因。

如果不能调优性能,请将timeout设大。

某些业务场景下,如果不注意配置超时和重试,可能会引起一些异常。

超时设置

DUBBO消费端设置超时时间需要根据业务实际情况来设定,

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

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

比如发送邮件,可能就会发出多份重复邮件,执行注册请求时,就会插入多条重复的注册数据。

(1)合理配置超时和重连的思路

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

2.业务处理代码必须放在服务端,客户端只做参数验证和服务调用,不涉及业务流程处理

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

重连机制

dubbo在调用服务不成功时,默认会重试2次。

Dubbo的路由机制,会把超时的请求路由到其他机器上,而不是本机尝试,所以 dubbo的重试机器也能一定程度的保证服务的质量。

但是如果不合理的配置重试次数,当失败时会进行重试多次,这样在某个时间点出现性能问题,调用方再连续重复调用,

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

dubbo重试机制原理_[转]dubbo重试机制和超时机制相关推荐

  1. python垃圾回收机制原理_详解python的垃圾回收机制

    python的垃圾回收机制 一.引子 我们定义变量会申请内存空间来存放变量的值,而内存的容量是有限的,当一个变量值没有用了(简称垃圾)就应该将其占用的内存空间给回收掉,而变量名是访问到变量值的唯一方式 ...

  2. python垃圾回收机制原理_如何理解和掌握Python垃圾回收机制?

    在编程世界里,当一个对象失去引用或者离开作用域后,它就会被当做垃圾而被自动清除,这就是垃圾回收机制.在现在的高级语言如Python.Java都使用了垃圾回收机制,不过与Java采用的垃圾收集机制不同, ...

  3. dubbo web工程示例_带有Dubbo的Spring Cloud Alibaba

    在优锐课的学习分享中,我们可以看到关于如何在阿里巴巴的Spring Cloud实现中使用这个流行的RPC框架. 1.Spring Cloud Alibaba Spring Cloud Alibaba是 ...

  4. dubbo k8s 服务发现_将Dubbo微服务迁移到k8s集群环境中前的思考与落地

    将Dubbo微服务迁移到k8s中的思考与落地 说到容器化,不得不提kubernetes这个集群编排系统,它是一个开源系统,用于容器化应用的自动部署.扩缩和管理. Kubernetes 将构成应用的容器 ...

  5. java委托机制教程_通过反射实现Java下的委托机制代码详解

    简述 一直对java没有现成的委托机制耿耿于怀,所幸最近有点时间,用反射写了一个简单的委托模块,以供参考. 模块api public class delegater()//空参构造,该类管理委托实例并 ...

  6. java 反射机制 视频_【视频笔记】Java反射机制笔记

    Java 语言的反射机制 在Java运行时环境中,对于任意一个类,可以知道这个类有哪些属性和方法.对于任意一个对象,可以调用它的任意一个方法. 这种动态获取类的信息以及动态调用对象的方法的功能来自于J ...

  7. 接口是java面向对象的实现机制之一_接口是java面向对象的实现机制之一,以下说法正确的是()...

    摘要: 接口机制皮肤外的断针段在处理.南方干栏筑的目的点建式特是(,向对象的下说震美观防潮防虫.防蛇D..法正日重点照.建筑阳光北方保暖等因是在素考虑.... 接口机制皮肤外的断针段在处理. 血压,实 ...

  8. Dubbo的容错机制原理

     本文是基于 apache dubbo 2.7.0 版本的源码和参考官网的集群章节而成.  为了避免单点故障,现在的应用通常至少会部署在两台服务器上.对于一些负载比较高的服务,会部署更多的服务器.这样 ...

  9. Android自定义控件进阶12-事件分发机制原理

    Android 事件分发机制详解,在上一篇文章 事件分发机制原理 中简要分析了一下事件分发机制的原理,原理是十分简单的,一句话就能总结:责任链模式,事件层层传递,直到被消费. 虽然原理简单,但是随着 ...

最新文章

  1. hibernate annotations和hbm.xml配置文件在spring中的并存配置
  2. sql item_map
  3. pytorch学习笔记 torchnn.ModuleList
  4. PPT怎么在剪映_剪映怎么剪辑音乐?添加、分割、导入音乐,图文详解!
  5. git rebase --skip_可冒充git大神的git tips
  6. 几点预防内存泄露的小建议
  7. office 兼容包下载地址
  8. 物联网毕业设计 太空游戏机设计与实现
  9. 阿里云服务器大陆机房和香港机房如何选择?
  10. 5月地图软件影响力报告:百度谷歌搜狗居前三甲
  11. 云计算 概念 是什么
  12. Document/View/Frame三口组深入探讨
  13. 《智慧工地单点解析系列(四)—— 安全管理》
  14. 第二届金融交易技术大会拥抱Fin Tech-创新、科技、融合在沪圆满落幕!
  15. Win2003合并磁盘分区
  16. EXCEL数组公式,求多条件下的中位数的实现方法和注意点
  17. bam获取序列_Jbrowse安装和序列、bam、vcf配置
  18. C++:上机练习(C++实现)
  19. python处理cookies
  20. 京东格力空调和专卖店有什么区别? 1

热门文章

  1. 详述使用pytest-ordering控制用例执行顺序
  2. netlink学习笔记(一)
  3. JavaScript滑动窗口算法
  4. IE JS获取IP地址
  5. 哈希(Hash)与加密(Encrypt)的基本原理、区别及工程应用
  6. 实验室装修工程实验室气路管道实验室气体管路工程
  7. Linux多路复用之select方案
  8. 【前端管理】与平台团队一起铺设前端基础
  9. Dedicated Web Worker 和 Shared Web Worker
  10. 2023年最新水果编曲软件Image-Line FL Studio 21 制作人版免费下载安装激活