分布式任务调度平台的研究

一 分布式任务调度的背景

无论是互联网应用或者企业级应用,都充斥着大量的批处理任务。我们常常需要一些任务调度系统帮助我们解决问题。随着微服务化架构的逐步演进,单体架构逐渐演变为分布式、微服务架构。在此的背景下,很多原先的任务调度平台已经不能满足业务系统的需求。于是出现了一些基于分布式的任务调度平台。

1.1 分布式任务调度的演进

在实际业务开发过程中,很多时候我们无可避免的需要使用一些定时任务来解决问题。通常我们会有多种解决方案:使用 Crontab 或 SpringCron (当然这种情况可能机器很少而且任务简单又不是很多的情况下)。然而,当我们应用复杂度升高,定时任务数量增多且任务之间产生依赖关系时,Crontab 进行定时任务的管理配置,就会非常混乱,严重影响工作效率。这时候就会产生一系列问题:

  • 任务管理混乱,生命周期无法统一协调管理;

  • 任务之间如果存在依赖关系,难以编排;

随着互联网的发展,分布式服务架构势越来越流行。相应也需要一个分布式任务调度系统来管理分布式架构中的定时任务。

1.2 分布式任务调度架构

分布式任务调度平台的研究_第1张图片

当垂直应用越来越多,应用之间交互也会越来越复杂,通常我们采用分布式或者微服务架构,将核心业务抽取出来,形成单独的服务。一个独立的微服务群体逐渐形成稳定的服务中心,使得业务应用能更快地响应多变的市场需求。此时,用于提高业务复用及整合的分布式服务框架成为关键。同时,由于服务独立,一般能做到定时任务独立的情况,任务的更改对于整体系统的影响小之

你可能感兴趣的:(分布式任务调度平台的研究)