蘑菇街大数据作业调度系统Jarvis,其设计目标定位是一个高可用的可拓展的工作流作业调度系统,同时在整体系统设计中始终以易用性和可维护性为目标导向。该系统当前承载着全公司每天4W+大数据任务的调度运行工作。Jarvis支持种类丰富的任务依赖和定时调度策略;可以通过插件的方式自定义拓展和支持各类作业任务类型;支持灵活的任务负载均衡策略,支持多租户环境,可以根据配置调整不同的资源配比;提供灵活的并发控制和队列优先级调控手段;对外提供各种服务化手段,可以灵活对接和支持周别各类业务系统。本次分享将介绍Jarvis的架构和实现,包含核心调度逻辑,并发控制,灰度发布,消息队列等模块。