「Java」Java项目中使用XXL-JOB调度框架
文章图片
文章图片
文章图片
文章图片
Java项目中使用XXL-JOB调度框架
我们的最近几个新项目在使用XXL-JOB进行任务调度 , 今天就分享下这个框架 。
XXL-JOB是一个分布式任务调度平台 , 其核心设计目标是开发迅速、学习简单、轻量级、易扩展 。 现已开放源代码并接入多家公司线上产品线 , 开箱即用 。
特性(来源于官方)
- 简单:支持通过Web页面对任务进行CRUD操作 , 操作简单 , 一分钟上手;
- 动态:支持动态修改任务状态、启动/停止任务 , 以及终止运行中任务 , 即时生效;
- 调度中心HA(中心式):调度采用中心式设计 , “调度中心”自研调度组件并支持集群部署 , 可保证调度中心HA;
- 执行器HA(分布式):任务分布式执行 , 任务”执行器”支持集群部署 , 可保证任务执行HA;
- 注册中心: 执行器会周期性自动注册任务 调度中心将会自动发现注册的任务并触发执行 。 同时 , 也支持手动录入执行器地址;
- 弹性扩容缩容:一旦有新执行器机器上线或者下线 , 下次调度时将会重新分配任务;
- 路由策略:执行器集群部署时提供丰富的路由策略 , 包括:第一个、最后一个、轮询、随机、一致性HASH、最不经常使用、最近最久未使用、故障转移、忙碌转移等;
- 故障转移:任务路由策略选择”故障转移”情况下 , 如果执行器集群中某一台机器故障 , 将会自动Failover切换到一台正常的执行器发送调度请求 。
- 阻塞处理策略:调度过于密集执行器来不及处理时的处理策略 , 策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度;
- 任务超时控制:支持自定义任务超时时间 , 任务运行超时将会主动中断任务;
- 任务失败重试:支持自定义任务失败重试次数 , 当任务失败时将会按照预设的失败重试次数主动进行重试;其中分片任务支持分片粒度的失败重试;
- 任务失败告警;默认提供邮件方式失败告警 , 同时预留扩展接口 , 可方便的扩展短信、钉钉等告警方式;
- 分片广播任务:执行器集群部署时 , 任务路由策略选择”分片广播”情况下 , 一次任务调度将会广播触发集群中所有执行器执行一次任务 , 可根据分片参数开发分片任务;
- 动态分片:分片广播任务以执行器为维度进行分片 , 支持动态扩容执行器集群从而动态增加分片数量 , 协同进行业务处理;在进行大数据量业务操作时可显著提升任务处理能力和速度 。
- 事件触发:除了”Cron方式”和”任务依赖方式”触发任务执行之外 , 支持基于事件的触发任务方式 。 调度中心提供触发任务单次执行的API服务 , 可根据业务事件灵活触发 。
- 任务进度监控:支持实时监控任务进度;
- Rolling实时日志:支持在线查看调度结果 , 并且支持以Rolling方式实时查看执行器输出的完整的执行日志;
- GLUE:提供Web IDE , 支持在线开发任务逻辑代码 , 动态发布 , 实时编译生效 , 省略部署上线的过程 。 支持30个版本的历史版本回溯 。
推荐阅读
- 辣妹盘点酱|Pro或使用瀑布屏2.0,华为Mate30沦为弃机彻底感人价,华为Mate40
- 手机厂商▲手机多久换一次?手机厂商早就设定了“使用时长”,全是套路
- 程序员■Java程序员必知:HashMap进行put操作会不会引起死循
- 「小米科技」2020年烂大街的3部手机,你在使用哪一部?
- 狸花科技喵|这就是iPhone屏蔽北斗导航的理由?,使用北斗有性能问题
- 课工场郑州翔天信鸽|JavaScript最常用,java是主流,JetBrains公布编程语言排名
- 猿灯塔|POI Excel,Java架构-Apache
- 【Java】github上标星70.5k,贼火的Java突击手册,全面详细对标阿里P7
- 腺病毒:成功了!新冠克星终于来了!疫苗开始使用!
- 【华为】麒麟1020生产完毕,仅800万片,华为P50使用非自主处理器