Easy Retry 致力提高分布式业务系统一致性的分布式重试平台
- 易用性 业务接入成本小。避免依赖研发人员的技术水平,保障重试的稳定性
- 灵活性 能够动态调整配置,启动/停止任务,以及终止运行中的重试数据
- 操作简单 分钟上手,支持WEB页面对重试数据CRUD操作。
- 数据大盘 实时管控系统重试数据
- 多样化退避策略 Cron、固定间隔、等级触发、随机时间触发
- 容器化部署 服务端支持docker容器部署
- 高性能调度平台 支持服务端节点动态扩容和缩容
- 多样化重试类型 支持ONLY_LOCAL、ONLY_REMOTE、LOCAL_REMOTE多种重试类型
- 重试数据管理 可以做到重试数据不丢失、重试数据一键回放
- 支持多样化的告警方式 邮箱、企业微信、钉钉、飞书
重试方案对比
设计思想
更新日志 【更多更新信息】
- 新增批量新增任务功能【新增】issues(opens new window)
- 重构了新增任务模型,支持客户端上报、控制台手动新增和单个新增等多种模式 【优化】
- 修改getBlacklist NPE问题 【BUG】
- 删除hibernate-validator包使用spring-boot-starter-validation 【优化】
- 优化调度日志信息 【优化】issues(opens new window)
- 修复JacksonSerializerNPE问题 【BUG】
- 客户端支持yml、JVM参数和自动获取IP和端口三种方式 issues (opens new window)【新增】
- 废弃shedlock组件 issues (opens new window)【优化】
- 数据上报使用横向数据结构实现滑动窗口替换环形滑动窗口 【优化】
- netty服务端接收请求改为actor模型 【优化】issues(opens new window)
- 重试任务和回调任务扫描改为以id作为偏移进行滚动扫描 【优化】
- 客户端回调接口支持SpringBean和普通类模式 【优化】
- 负载均衡器新增负载均衡周期时间配置 【优化】
- 优化NettyServer启动失败主线程无感知问题 issues(opens new window)
- 组配置添加字段说明文档 issues(opens new window)
升级指南
- 第一种升级方式: 将shedlock表名改为distributed_lock
- 第二种升级方式: 将DistributedLock类上的
@TableName("distributed_lock")
改为@TableName("shedlock")
项目地址
官网: https://www.easyretry.com/
gitee:https://gitee.com/aizuda/easy-retry.git
github:https://github.com/aizuda/easy-retry.git
方便的话给项目一个 star,你的支持是我们前进的动力!