aizuda 码问 2023-08-04 21:08 发表于山东
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,你的支持是我们前进的动力!