Timer
ScheduledExecutor
Quartz
Quartz集群
TBSchedule
類比Quartz集群用數(shù)據(jù)庫做存儲(chǔ),TBSchedule則使用更符合分布式場(chǎng)景的zookeeper來做任務(wù)狀態(tài)。
Elastic-job
原理基本和TBSchedule一致。
Elastic-job是2015年當(dāng)當(dāng)網(wǎng)發(fā)布的開源項(xiàng)目(https://github.com/dangdangdotcom/elastic-job),它出現(xiàn)的意義是對(duì)TBSchedule在各方面的優(yōu)化,這體現(xiàn)在它借鑒了TBSchedule的流式任務(wù)概念,但基本的調(diào)度功能還是交給這方面的資深專家:Quartz,而對(duì)zookeeper的操作使用crutor封裝,以及文檔比較全面,這一點(diǎn)對(duì)于維護(hù)者來說是心頭好。
唯一的缺點(diǎn)是太新,缺少線上環(huán)境的考驗(yàn)。但當(dāng)當(dāng)?shù)拈_發(fā)者在推廣方面很給力,贊一個(gè)。
參考資料