立项背景与目标
企业多业务存在大量定时数据同步、批量计算、日志清理等定时任务,传统单机定时脚本存在分散难管控、执行失败无告警、运行数据无法追溯、执行状态不透明等问题。本项目搭建统一分布式任务调度平台,实现全量任务集中管控、执行过程可视化监控、异常自动告警,保障批量任务稳定可靠执行。
核心功能模块
任务基础管理:统一录入、启停、编辑定时任务,当前在线运行任务共 8 个,支持自定义执行周期、重试策略;
分布式执行器管控:对接 1 台在线执行器机器,实现任务远程分发、资源隔离、负载均衡;
调度数据可视化报表:基于 ECharts 实现日期分布折线图、任务成功率饼图,统计周期内累计调度 115429 次,直观区分成功 / 失败 / 进行中三类任务状态;
异常运维模块:任务执行失败实时推送告警,留存全量调度日志,支持按日期筛选历史记录、定位故障任务。
业务流程
运维人员在后台创建定时任务并配置调度规则,调度中心按时间规则自动向执行器下发任务;任务执行后自动采集运行结果,写入数据库统计数据;前端实时渲染可视化报表,出现失败任务时触发消息告警,运维可查看报表与日志排查问题。
整体架构与技术设计
采用前后端分离架构,后端基于 SpringBoot 整合 XXL-Job 核心调度框架,MySQL 存储任务配置、调度日志;前端使用 ECharts 封装可视化组件,分层拆分为任务管理、执行器管理、报表统计、告警通知四大模块,支持单执行器分布式任务分发,低耦合易扩展。
个人负责模块与量化成果
独立完成可视化报表模块开发,实现日期分布折线图、成功率饼图双图表联动;完成调度日志分页查询、多条件筛选功能;优化日志入库性能,支撑累计 11 万 + 调度记录流畅查询;平台上线后实现 8 个业务定时任务统一托管,任务执行可视化全覆盖,任务故障定位效率提升 70%。
项目难点与解决方案
难点 1:海量调度日志查询缓慢,加载报表卡顿
解决方案:对调度日志表按日期分表存储,添加任务 ID、执行状态复合索引,图表数据做分页聚合预计算,页面加载速度提升 85%;
难点 2:多任务并发执行时执行器资源争抢
解决方案:新增任务权重分配、并发限流配置,支持限制单执行器最大并行任务数,避免资源耗尽;
难点 3:图表多维度数据实时同步延迟
解决方案:采用定时缓存刷新机制,异步统计成功率数据,降低前端实时查询数据库压力。