分布式任务调度的解决方案

1.简介

 随着系统规模的发展,定时任务数量日益增多,任务也变得越来越复杂,尤其是在分布式环境下,存在多个业务系统,每个业务系统都有定时任务的需求,如果都在自身系统中调度,
一方面增加业务系统的复杂度,另一方面也不方便管理,因此需要有一个任务平台对分散的任务进行统一管理调度,基于目前的情况,任务平台需要支持以下几个方面:
  • 1、任务统一管理,提供图形化界面对任务进行配置和调度。
  • 2、任务并发控制,同一个任务在同一时间只能允许一个执行。
  • 3、任务弹性扩容,可根据繁忙情况动态增减服务器分摊压力,对大任务进行分片处理。
  • 4、任务依赖问题,能够处理任务包含子任务的情况,前一个完成后触发子任务执行。
  • 5、支持多类型的任务,支持Spring Bean、Shell等。
  • 6、任务节点高可用,任务节点异常或者繁忙时能够转移到其他节点执行。
  • 7、调度中心高可用,支持集群部署,避免出现单点故障。
  • 8、执行状态监控,方便查看任务执行状态,异常情况告警,支持多渠道通知。

2. 现在一些比较好的开源框架

Elastic-job:Elastic-job是当当开源的一款非常好用的作业框架,Elastic-job在2.x之后,出现了两个相互独立的产品线:Elastic-job-lite和Elastic-job-cloud。

官网:http://elasticjob.io/index_zh.html

xxl-job:xxl-job是一个轻量级的分布式任务调度框架,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。

官网:https://www.xuxueli.com/

posted @ 2020-05-02 16:19  IT路上的小白  阅读(416)  评论(0编辑  收藏  举报