三种熔断策略在数据服务API中的实践应用
熔断策略的概念最早可以追溯到电力系统中的保险丝。当电流过大时,保险丝会自动熔断,以防止电器设备因过载而损坏。这种简单而有效的保护机制为后来软件系统中的熔断策略提供了灵感。在软件系统中,熔断策略的工作原理类似,旨在通过监测服务调用的状态来决定是否允许请求继续发送到目标服务。 为了增强服务的可靠性和用户体验,袋鼠云数栈在数据服务产品DataAPI中引入了熔断策略。这一策略通过切断对故障服务的请求,有效避免了请求积压和资源耗尽,同时为故障服务提供了恢复的时间。这样不仅防止了系统过载和崩溃,还确保了系统的基本可用性,从而维护了整体的稳定性。此外,熔断策略还能显著减少用户的等待时间,进一步提升了用户体验。
一、熔断策略的发展与演进
早期的熔断策略主要是基于简单的阈值判断。例如,当某个服务的错误率超过一定阈值时,就会触发熔断停止对该服务的调用。这种简单的熔断策略在一定程度上提高了系统的稳定性,但也存在一些局限性,例如阈值的设置比较困难,容易出现误判等。 随着软件技术的不断发展,熔断策略也在不断演进和完善。现代的熔断策略通常结合了多种技术和算法,以提高其准确性和灵活性。
1、动态阈值调整 现代的熔断策略不再依赖于固定的阈值,而是通过动态调整阈值来适应不同的系统负载和故障情况。例如,可以根据系统的历史数据和实时性能指标,自动调整熔断的阈值,以提高熔断策略的准确性。
2、熔断恢复机制 除了在故障发生时触发熔断,现代的熔断策略还注重熔断后的恢复机制。当故障服务恢复正常后,熔断策略会自动尝试重新连接该服务,以恢复系统的正常运行。这种自动恢复机制可以减少人工干预,提高系统的可用性。
3、分布式熔断 在分布式系统中,单个节点的故障可能会影响到整个系统的稳定性。为了解决这个问题,现代的熔断策略通常采用分布式的架构,将熔断决策分散到多个节点上,以提高系统的可靠性和容错性。
4、与其他技术的结合 现代的熔断策略还常常与其他技术结合使用,例如负载均衡、服务发现、自动扩缩容等。这些技术的结合可以进一步提高系统的稳定性和可用性,为用户提供更好的服务体验。
二、熔断策略的数栈中的应用
目前我们支持三种熔断策略的配置:
1、慢调用比例 (SLOW_REQUEST_RATIO) 选择以慢调用比例作为阈值,需要设置允许的慢调用 RT(即最大的响应时间),请求的响应时间大于该值则统计为慢调用。当单位统计时长(statIntervalMs)内请求数目大于设置的最小请求数目,并且慢调用的比例大于阈值,则接下来的熔断时长内请求会自动被熔断。经过熔断时长后熔断器会进入探测恢复状态(HALF-OPEN 状态),若接下来的一个请求响应时间小于设置的慢调用 RT 则结束熔断,若大于设置的慢调用 RT 则会再次被熔断。
2、异常比例 (ERROR_RATIO) 当单位统计时长(statIntervalMs)内请求数目大于设置的最小请求数目,并且异常的比例大于阈值,则接下来的熔断时长内请求会自动被熔断。经过熔断时长后熔断器会进入探测恢复状态,若接下来的一个请求成功完成(没有错误)则结束熔断,否则会再次被熔断。异常比率的阈值范围是 [0.0, 1.0],代表 0% - 100%。
3、异常数 (ERROR_COUNT) 当单位统计时长内的异常数目超过阈值之后会自动进行熔断。经过熔断时长后熔断器会进入探测恢复状态(HALF-OPEN 状态),若接下来的一个请求成功完成(没有错误)则结束熔断,否则会再次被熔断。
熔断策略创建成功后,可以在任一API创建或编辑时,应用创建的熔断策略。
API发布至API市场后,熔断策略将会生效,熔断器存在3种状态:关闭、开启、半开启,状态的判断方式如下图
这三种熔断策略有效保障了用户数据服务的稳定运行,对数据服务感兴趣的朋友欢迎点击【数据服务平台DataAPI】免费试用。
《数据资产管理白皮书》下载地址 :https://www.dtstack.com/resources/1073/?src=szsm
《行业指标体系白皮书》下载地址 :https://www.dtstack.com/resources/1057/?src=szsm
《数据治理行业实践白皮书》下载地址 :https://www.dtstack.com/resources/1001/?src=szsm
《数栈V6.0产品白皮书》下载地址 :https://www.dtstack.com/resources/1004/?src=szsm
想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=szsm
同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:https://github.com/DTStack

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
中国 GenAI 消费应用助燃计划启动!
开源中国OSCHINA 今日正式启动“中国 GenAI 消费应用助燃计划”,将陆续对“2024 年度中国 GenAI 消费应用人气评选” Top 10 榜单应用进行流量与内容生态上的合作支持,旨在点燃创新火焰,助力 AI 应用生态繁荣发展。 具体形式如下: 榜单结果发布在《2024 中国开源开发者报告》 在报告中设立专门的章节,展示上榜应用,包括应用介绍、图片展示、官网链接。 为上榜应用宣传造势 联合官网、公众号以及微博、头条号等其他自媒体渠道进行矩阵式传播,百万流量,扩大影响力。 在资讯中附上应用下载或使用链接,方便读者体验。 制作短视频,通过应用介绍、实景演示等形式,让用户快速了解应用。 邀请应用专家参与《2024 中国开源开发者报告》 邀请专家就应用所处领域进行解读和讨论,在报告中收录专家观点,为行业发展提供参考。 对上榜应用专家进行采访,围绕应用开发、行业趋势、技术创新等话题展开。 在官网、公众号以及微博、头条号等其他自媒体渠道发布采访内容,提高专家及应用知名度。 整合采访内容,形成专题报告,为行业提供有价值的信息。 更有机会结合开源中国举办的线下活动比如GOTC、源创会等,展...
- 下一篇
高效安全迁移:PG高可用集群实战方案深度解析
PostgreSQL是一个开源的数据库管理系统,相比于其他开源数据库系统,PostgreSQL有更加丰富的数据类型和可扩展性,并因此被广泛采用。在实际工作中,若企业业务需求变动,则有可能面临PG高可用集群迁移的情况。 云掣具备丰富的帮助企业迁移数据平台的实战经验,提供专业的数据库运维托管服务,本文旨在通过一次PG高可用集群环境迁移但IP不变的成功客户案例,结合云掣在多次客户数据迁移过程中总结出的宝贵经验,与大家分享两种安全稳定迁移PG高可用集群的方案,并将两种方案的优缺点进行了对比,便于大家根据自己的情况择优选择。 一、客户背景 某客户线下环境有2套PG高可用自建集群,由于之前使用的CentOS系统,官方已经不再维护了,所以需由当前的CentOS环境迁至新的RedHat环境。2套PG均是REPMGR高可用集群架构,迁移切换后,新环境需使用旧环境的IP地址。 说明:当前2套PG高可用集群使用REPMGR实现集群内故障切换,每套PG集群有1个主节点2个从节点1个见证节点,2套PG主节点的部分schema会通过逻辑复制同步至报表库,2套PG的主节点及报表库均有1个容灾备库。 二、迁移方案 方...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7