项目简介
冥等数据任务管理平台(JpIdem Job)是一个用于方法重试的异步重试框架,具备数据操作的冥等性和持久化能力。相较于传统的Guava Retry和Spring Retry,其最大亮点在于异步重试和任务持久化,即便系统重启或宕机,任务仍能继续重试直至成功。该平台适用于微服务环境下的分布式事务最终一致性场景,可确保各服务数据的一致性。
项目的主要特性和功能
- 异步重试:支持异步重试机制,不阻塞主线程。
- 持久化:任务可持久化,系统重启后能继续重试。
- 扩展点:提供大量扩展点,便于开发者按需定制。
- 调度框架对接:支持与其他调度框架(如Elastic - Job)对接。
- 可视化管理:具备重试Job的可视化管理界面。
- 并发一致性:基于Redis分布式锁保证集群分布式调度的最终一致性。
- 故障转移:支持任务路由策略选择“故障转移”,集群中机器故障时自动切换。
- 路由策略:系统集群部署时提供丰富路由策略,如轮询、随机等。
- 阻塞策略:提供调度过于密集时的处理策略,如单机串行等。
- 超时控制:支持自定义任务超时时间,超时主动中断任务。
- 降级隔离:调度线程池隔离拆分,慢任务自动降级,提高系统稳定性。
- 任务线程监控:提供可视化页面展示任务运行线程信息。
安装使用步骤
- 配置环境:确保本地安装Java 8及以上版本和Apache Maven 3.x。
- 引入依赖:在项目的
pom.xml
文件中引入Spring 4.x、Quartz 2.3.2等必要依赖。 - 创建数据库:根据需求创建数据库,支持MySQL、PostgreSQL、MSSQL Server等。
- 初始化系统表:根据数据库类型执行相应SQL脚本文件,如
sqlserver.sql
、postgresql.sql
、mysql.sql
。 - 配置数据源:在项目配置文件中配置数据库连接信息。
- 编写业务逻辑:根据业务需求编写重试任务的业务逻辑,可使用
@RetryFunction
注解或实现RetryHandler
接口。 - 启动项目:在启动类上添加
@EnableRetrying
注解,启动Spring Boot应用。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】