Easy Retry 六月第二个版本 v1.5.0 版本
分布式系统大行其道的当前,系统数据的准确性和正确性是重大的挑战,基于 CAP 理论,采用柔性事务,保障系统可用性以及数据的最终一致性成为技术共识 为了保障分布式服务的可用性,服务容错性,服务数据一致性 以及服务间掉用的网络问题。依据 "墨菲定律",增加核心流程重试, 数据核对校验成为提高系统鲁棒性常用的技术方案
特性
- 易用性 业务接入成本小。避免依赖研发人员的技术水平,保障重试的稳定性
- 灵活性 能够动态调整配置,启动 / 停止任务,以及终止运行中的重试数据
- 操作简单 分钟上手,支持 WEB 页面对重试数据 CRUD 操作。
- 数据大盘 实时管控系统重试数据
- 多样化退避策略 Cron、固定间隔、等级触发、随机时间触发
- 容器化部署 服务端支持 docker 容器部署
- 高性能调度平台 支持服务端节点动态扩容和缩容
- 多样化重试类型 支持 ONLY_LOCAL、ONLY_REMOTE、LOCAL_REMOTE 多种重试类型
- 重试数据管理 可以做到重试数据不丢失、重试数据一键回放
- 支持多样化的告警方式 邮箱、企业微信、钉钉、飞书
客户端与服务端数据交互图
#系统架构图
分布式系统重试的重要性
在分布式系统中,由于网络延迟、节点故障、消息丢失等原因,操作可能会失败。重试机制在分布式系统中显得尤为重要,以下是一些原因:
- 网络不可靠性:在分布式系统中,由于网络的不可靠性,消息可能会丢失或延迟。重试机制可以确保消息被发送和接收,从而提高系统的可靠性和消息传递的可靠性。
- 事务处理:在分布式系统中,事务可能会因为网络延迟等原因失败。重试机制可以确保事务被正确提交,从而保证数据的最终一致性。
- 节点故障:分布式系统可能会由于节点故障而导致部分或全部服务不可用。重试机制可以确保节点重新启动后,服务能够自动恢复并继续运行。
- 提高系统可用性:重试机制可以确保在发生异常情况时,系统能够尝试自动恢复,避免出现系统宕机或无响应的情况,从而提高系统的可用性和稳定性。 重试机制在分布式系统中非常重要,可以提高系统的可靠性、性能和消息传递的可靠性,同时还可以确保数据的一致性和服务的可用性。
重试的风险
- 重试放大风险:这种指数放大的效应很可怕,会加大直接整体系统的负载,最坏情况下被调用的服务流量可能放大到 r 倍,不仅不能请求成功,导致整体的负载继续升高,甚至直接打挂
- 无限重试问题:如果不设置重试次数会使得业务线程一直被重试占用,这样会导致服务的负载线程暴增直至服务宕机.
- 数据安全:基于内存重试会可能造成数据丢失风险
- 网络阻塞:重试次数过多或重试间隔时间过短,就有可能导致大量的请求同时发送,从而导致网络拥塞和负载增加。
v1.5.0 发布内容:
- 优化了场景配置提示信息issues-I7AAC1【新增】
- 修复远程重试次数日志打印错误问题【BUG】
- 优化了初始化场景默认执行21次,任务停留3天【优化】
- 回调支持持久化【新增】
- 迁移了部分枚举到服务端模块
- 页面新增数据类型展示并【新增】
- 优化状态的显示样式【优化】
- 新增本地重试添加重试流量标识issues-I7BCNI【新增】
- 在线机器支持查看详情issues-I7B4XK【新增】
- 优化部分代码描述和类名【优化】
- 注意: sql文件有变更
项目地址
官网: https://www.easyretry.com/
gitee:https://gitee.com/aizuda/easy-retry.git
github:https://github.com/aizuda/easy-retry.git
方便的话给项目一个 star,你的支持是我们前进的动力!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
ZadigX 支持 Nacos 配置自动变更,安全又高效
随着软件系统的复杂性和规模的不断增长,配置管理和变更成为了一个重要的领域,尤其在云原生和微服务架构下,业务配置变更和运行时环境配置变更是常见需求。在环境配置变更方面,通常可以使用原生的 Kubernetes YAML 配置管理实现变更。而在业务配置变更方面,由阿里开源的 Nacos 已逐渐成为市场上主流采用的配置管理工具。 ZadigX 能够和 Nacos 紧密集成,通过自动化和变更管道的方式,实现配置管理的自动化,并确保变更的安全性和一致性。 本文介绍 ZadigX 如何支持 Nacos 配置管理,并提供真实的研发场景示例,全面展示自动化配置变更的过程。 ZadigX 如何支持 Nacos 配置管理 只需要在 ZadigX 中集成 Nacos 配置管理系统,配置工作流任务,即可实现配置的自动化、安全变更。 第一步:集成 Nacos访问 ZadigX 系统设置 > 集成管理 > 配置管理 > 添加 Nacos 配置管理系统。 第二步:配置工作流任务将 Nacos 配置变更任务编排进工作流中即可实现使用 ZadigX 工作流一键自动变更配置。具体操作:编辑工作流 &...
- 下一篇
DriverBox V0.2 已发布,修复并发执行脚本问题
DriverBox V0.2 已发布,修复并发执行脚本问题 DriverBox是一款基于物联网开源框架Edgex打造的泛化协议接入服务。 以插件化的形式融合了 Modbus、Bacnet、HTTP、MQTT 等主流协议,同时也支持基于TCP的各类私有化协议对接。 我们期望DriverBox能够为相关人士提供更加高效、舒适的设备接入体验。 通过对各类设备的通信协议和数据交互形式进行抽象,定义了一套标准流程以涵盖泛化协议的共性处理逻辑,并结合动态解析脚本(Lua、Javascript、Python)填补其中的差异化部分。 以此解决设备接入过程中存在的驱动工程数量爆炸;接入标准难以规范化等问题。 版本更新 2023-06-12 v0.2 修复HTTP_Server插件并发执行 lua 脚本报错问题 修复TCP_Server插件并发执行 lua 脚本报错问题 2023-04-08 v0.1 实现插件列表:HTTPClient、HTTPServer、MQTT、Modbus、TCPServer Lua脚本预加载模块(json、http、driverbox) 简介 DriverBox是使用 Go(G...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品