Timer
ScheduledExecutor
Quartz
Quartz集群
TBSchedule
类比Quartz集群用数据库做存储,TBSchedule则使用更符合分布式场景的zookeeper来做任务状态。
Elastic-job
原理基本和TBSchedule一致。
Elastic-job是2015年当当网发布的开源项目(https://github.com/dangdangdotcom/elastic-job),它出现的意义是对TBSchedule在各方面的优化,这体现在它借鉴了TBSchedule的流式任务概念,但基本的调度功能还是交给这方面的资深专家:Quartz,而对zookeeper的操作使用crutor封装,以及文档比较全面,这一点对于维护者来说是心头好。
唯一的缺点是太新,缺少线上环境的考验。但当当的开发者在推广方面很给力,赞一个。
参考资料
网友评论