博客
关于我
SpringBoot中集成XXL-JOB分布式任务调度平台,轻量级、低侵入实现定时任务
阅读量:797 次
发布时间:2023-03-03

本文共 2027 字,大约阅读时间需要 6 分钟。

场景

XXL-JOB是一个分布式任务调度平台,旨在开发迅速、学习简单、轻量级且易于扩展的解决方案。

XXL-JOB

XXL-JOB通过Web页面支持CRUD操作,操作简单,甚至一分钟即可上手。其核心目标是提供动态、高可用性、易扩展等特性,满足复杂任务调度需求。

以下是XXL-JOB的主要特性:

1. **简单易用**:通过Web界面完成任务的增删改查操作,学习成本低,快速上手。 2. **动态管理**:支持动态修改任务状态、启动/停止任务,以及终止运行中的任务,操作即时生效。 3. **高可用性调度中心**:采用中心式设计,自研调度组件支持集群部署,确保调度中心的高可用性。 4. **分布式执行器集群**:任务分布式执行,支持执行器集群部署,保障任务执行的高可用性。 5. **自动化注册与发现**:执行器会周期性自动注册任务,调度中心自动发现注册的任务并触发执行,同时支持手动录入执行器地址。 6. **弹性扩容缩容**:自动感知新增或移除的执行器,下次调度时重新分配任务,确保资源利用最大化。 7. **灵活的触发策略**:提供多种触发方式,包括Cron、固定间隔、固定延时、API事件、人工触发、父子任务触发等。 8. **调度补偿策略**:针对调度时间错过的情况,提供忽略、立即补偿触发等策略,确保任务按时执行。 9. **高效的阻塞处理**:采用单机串行(默认)或丢弃后续调度、覆盖之前调度等策略,处理过于密集的执行器情况。 10. **任务超时控制**:支持自定义任务超时时间,超时后主动中断任务。 11. **任务失败重试机制**:允许自定义失败重试次数,分片任务支持粒度级别的重试,确保任务稳定性。 12. **失败告警机制**:默认提供邮件告警,预留接口方便扩展短信、钉钉等告警方式。 13. **灵活的路由策略**:支持多种路由策略,包括第一个、最后一个、轮询、随机、一致性HASH、最不经常使用、最近最久未使用、故障转移、忙碌转移等。 14. **分片广播任务**:在执行器集群中广播触发,支持分片参数化开发,提升大数据量处理能力。 15. **动态分片能力**:根据执行器集群动态调整分片数量,协同处理大数据业务,显著提升处理速度。 16. **故障转移机制**:若某执行器故障,自动切换到其他正常执行器发送调度请求,确保任务不中断。 17. **实时任务监控**:支持实时查看任务进度,及时掌握执行状态。 18. **Rolling日志查看**:提供在线日志查看功能,支持Rolling方式查看完整日志,方便调试和监控。 19. **在线开发环境(GLUE)**:提供Web IDE,支持在线开发、动态发布和实时编译,简化部署流程,同时保留30个版本历史回溯。 20. **多种脚本任务支持**:支持Shell、Python、NodeJS、PHP、PowerShell等脚本任务运行。 21. **命令行任务处理**:原生支持通用命令行任务处理,业务方只需提供命令即可。 22. **任务依赖管理**:支持子任务依赖触发,多个子任务可用逗号分隔。 23. **一致性保障**:调度中心通过DB锁确保集群分布式调度的一致性,避免任务重复执行。 24. **自定义任务参数**:支持在线配置调度任务入参,修改后即生效。 25. **高效调度线程池**:多线程触发调度,确保调度精确执行,不受堵塞影响。 26. **数据加密**:调度中心与执行器间采用加密方式传输数据,提升安全性。 27. **邮件报警**:任务失败时支持配置邮件报警,支持多邮件地址群发。 28. **中央仓库发布**:将稳定版本推送至Maven中央仓库,便于用户快速接入和使用。 29. **运行报表功能**:提供实时运行数据统计,包括任务数量、调度次数、执行器数量等,同时支持调度报表生成,展示调度日期分布和成功率分布等信息。 30. **全异步设计**:调度流程设计为全异步,支持任意时长任务运行,有效削峰处理密集调度。 31. **跨语言支持**:提供语言无关的RESTful API服务,支持第三方任意语言对接调度中心,同时提供“多任务模式”和“httpJobHandler”等跨语言方案。 32. **多语言支持**:调度中心支持国际化设置,提供中文、英文两种语言,默认以中文显示。 33. **容器化部署**:提供官方Docker镜像,实时更新推送至Dockerhub,实现开箱即用。 34. **线程池隔离**:将调度线程池拆分为普通和慢任务池,慢任务自动降级,避免线程耗尽,提升系统稳定性。 35. **用户管理功能**:支持在线管理系统用户,分为管理员和普通用户两种角色。 36. **权限控制**:执行器维度进行权限管理,管理员拥有全量权限,普通用户需分配执行器权限后方可操作。

注:如需了解更多技术细节,可以访问相关博客或技术文档。

转载地址:http://rixfk.baihongyu.com/

你可能感兴趣的文章
pl/sql锁
查看>>
QueryPerformanceCounter与QueryPerformanceFrequency
查看>>
Plaid.com的监控系统如何实现与9600多家金融机构的集成
查看>>
Plain Stock Prediction:基于RNN的股票价格预测工具
查看>>
platform_driver与file_operations两种方法开发led驱动
查看>>
PlatON共识方案详解:应用CBFT共识协议,提高共识效率
查看>>
QueryDict和模型表知识补充
查看>>
Querybase 使用与安装教程
查看>>
Playwright与Selenium的对比:谁是更适合你的自动化测试工具?
查看>>
PLC、DCS、SCADA的选型
查看>>
PLC中的电子凸轮的简单介绍
查看>>
PLC发展详解-ChatGPT4o作答+匹尔西
查看>>
PLC探针有什么用
查看>>
PLC接线详解
查看>>
PLC数组的使用(西门子)
查看>>
Quarzt定时调度任务
查看>>
PLC结构体(西门子)
查看>>
PLC编程语言ST文本语法的常用数据类型及变量
查看>>
PLC通讯方式
查看>>
Please install 'webpack-cli' in addition to webpack itself to use the CLI
查看>>