Skip to content

既然说是分布式任务调度框架,那么分布式调度框架和非分布式调度框架有什么区别呢?在分布式环境下,一个服务会部署到多个主机,也就是会有多个相同服务同时运行,那么使用非分布式调度框架会在每个主机上都运行一遍,导致资源浪费,而分布式任务调度框架则不会有这个问题。

什么是分布式任务调度框架?简单点来说就是定时任务,通过统一调度来执行,保障定时任务正常执行,但不会重复执行。

常见的分布式调度框架

  • QuartZ:老牌框架,但是比较难用,通过调用API的的方式操作任务,需要持久化业务QuartzJobBean到底层数据表中,系统侵入性相当严重,任务多时性能受限。
  • Elasticjob:优点是维护积极,虽然诞生时间久远,现在仍然在维护。可惜第三方中间件比较多,如果出现了问题,还需要去熟悉所依赖的中间件才能解决,使用和维护成本较高。
  • XXL-JOB:轻量级分布式任务调度框架,解决了QuartZ框架的各项问题,也没有Elasticjob那样依赖其他中间件,使用简单,而且中文文档写的很详细。
  • SchedulerX:阿里云的产品,优点非常多,但是阿里云出品,非开源框架, 这是需要票票才能用到,比较费人民币。
  • PowerJob:性能强劲,操作简单,但是相对于xxl-job时间较晚,用的企业不是很多,xxl-job是已经经过大量实践的,用起来比较稳定。