国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

聊聊分布式定時任務框架選型

開發 架構
很多業務場景需要我們某一特定的時刻去做某件任務,定時任務解決的就是這種業務場景。一般來說,系統可以使用消息傳遞代替部分定時任務,兩者有很多相似之處,可以相互替換場景。

我們先思考下面幾個業務場景的解決方案:

  • 支付系統每天凌晨1點跑批,進行一天清算,每月1號進行上個月清算
  • 電商整點搶購,商品價格8點整開始優惠
  • 12306購票系統,超過30分鐘沒有成功支付訂單的,進行回收處理
  • 商品成功發貨后,需要向客戶發送短信提醒

類似的業務場景非常多,我們怎么解決?

為什么我們需要定時任務

很多業務場景需要我們某一特定的時刻去做某件任務,定時任務解決的就是這種業務場景。一般來說,系統可以使用消息傳遞代替部分定時任務,兩者有很多相似之處,可以相互替換場景。如,上面發貨成功發短信通知客戶的業務場景,我們可以在發貨成功后發送MQ消息到隊列,然后去消費mq消息,發送短信。但在某些場景下不能互換:

  • 時間驅動/事件驅動:內部系統一般可以通過時間來驅動,但涉及到外部系統,則只能使用時間驅動。如怕取外部網站價格,每小時爬一次
  • 批量處理/逐條處理:批量處理堆積的數據更加高效,在不需要實時性的情況下比消息中間件更有優勢。而且有的業務邏輯只能批量處理。如移動每個月結算我們的話費
  • 實時性/非實時性:消息中間件能夠做到實時處理數據,但是有些情況下并不需要實時,比如:vip升級
  • 系統內部/系統解耦:定時任務調度一般是在系統內部,而消息中間件可用于兩個系統間

java有哪些定時任務的框架

單機

  • timer:是一個定時器類,通過該類可以為指定的定時任務進行配置。TimerTask類是一個定時任務類,該類實現了Runnable接口,缺點異常未檢查會中止線程
  • ScheduledExecutorService:相對延遲或者周期作為定時任務調度,缺點沒有絕對的日期或者時間
  • spring定時框架:配置簡單功能較多,如果系統使用單機的話可以優先考慮spring定時器

分布

  • Quartz:Java事實上的定時任務標準。但Quartz關注點在于定時任務而非數據,并無一套根據數據處理而定制化的流程。雖然Quartz可以基于數據庫實現作業的高可用,但缺少分布式并行調度的功能
  • TBSchedule:阿里早期開源的分布式任務調度系統。代碼略陳舊,使用timer而非線程池執行任務調度。眾所周知,timer在處理異常狀況時是有缺陷的。而且TBSchedule作業類型較為單一,只能是獲取/處理數據一種模式。還有就是文檔缺失比較嚴重
  • elastic-job:當當開發的彈性分布式任務調度系統,功能豐富強大,采用zookeeper實現分布式協調,實現任務高可用以及分片,目前是版本2.15,并且可以支持云開發
  • Saturn:是唯品會自主研發的分布式的定時任務的調度平臺,基于當當的elastic-job 版本1開發,并且可以很好的部署到docker容器上。
  • xxl-job: 是大眾點評員工徐雪里于2015年發布的分布式任務調度平臺,是一個輕量級分布式任務調度框架,其核心設計目標是開發迅速、學習簡單、輕量級、易擴展。

分布式任務調度系統對比

參與對比的可選系統方案:elastic——job (以下簡稱E-Job)與 xxx-job(以下簡稱X-Job)

項目背景及社區力量

X-Job:大眾點評公司下員工許雪里、貢獻者 3人; github有2470star、1015fork | QQ討論群6個 | 有登記在使用的超過40家公司 | 文檔齊全

E-Job:當當網開源,貢獻者17人; github有2524star、1015fork | QQ討論群1個、源碼討論群1個 | 有登記在使用的超過50家公司 | 文檔齊全 | 有明確的發展計劃

支持集群部署

X-Job:集群部署唯一要求為:保證每個集群節點配置(db和登陸賬號等)保持一致。調度中心通過db配置區分不同集群。

執行器支持集群部署,提升調度系統可用性,同時提升任務處理能力。集群部署唯一要求為:保證集群中每個執行器的配置項 “xxl.job.admin.addresses/調度中心地址” 保持一致,執行器根據該配置進行執行器自動注冊等操作。

E-Job:重寫Quartz基于數據庫的分布式功能,改用Zookeeper實現注冊中心

作業注冊中心:基于Zookeeper和其客戶端Curator實現的全局作業注冊控制中心。用于注冊,控制和協調分布式作業執行。

多節點部署時任務不能重復執行

X-Job:使用Quartz基于數據庫的分布式功能

E-Job?。簩⑷蝿詹鸱譃閚個任務項后,各個服務器分別執行各自分配到的任務項。一旦有新的服務器加入集群,或現有服務器下線,elastic-job將在保留本次任務執行不變的情況下,下次任務開始前觸發任務重分片。

日志可追溯

X-Job:支持,有日志查詢界面

E-Job:可通過事件訂閱的方式處理調度過程的重要事件,用于查詢、統計和監控。Elastic-Job目前提供了基于關系型數據庫兩種事件訂閱方式記錄事件。

監控告警

X-Job:調度失敗時,將會觸發失敗報警,如發送報警郵件。

任務調度失敗時郵件通知的郵箱地址,支持配置多郵箱地址,配置多個郵箱地址時用逗號分隔

E-Job:通過事件訂閱方式可自行實現

作業運行狀態監控、監聽作業服務器存活、監聽近期數據處理成功、數據流類型作業(可通過監聽近期數據處理成功數判斷作業流量是否正常,如果小于作業正常處理的閥值,可選擇報警。)、監聽近期數據處理失?。赏ㄟ^監聽近期數據處理失敗數判斷作業處理結果,如果大于0,可選擇報警。)

彈性擴容縮容

X-Job:使用Quartz基于數據庫的分布式功能,服務器超出一定數量會給數據庫造成一定的壓力

E-Job:通過zk實現各服務的注冊、控制及協調

支持并行調度

X-Job:調度系統多線程(默認10個線程)觸發調度運行,確保調度精確執行,不被堵塞。

E-Job:采用任務分片方式實現。將一個任務拆分為n個獨立的任務項,由分布式的服務器并行執行各自分配到的分片項。

高可用策略

X-Job:“調度中心”通過DB鎖保證集群分布式調度的一致性, 一次任務調度只會觸發一次執行;

E-Job:調度器的高可用是通過運行幾個指向同一個ZooKeeper集群的Elastic-Job-Cloud-Scheduler實例來實現的。ZooKeeper用于在當前主Elastic-Job-Cloud-Scheduler實例失敗的情況下執行領導者選舉。通過至少兩個調度器實例來構成集群,集群中只有一個調度器實例提供服務,其他實例處于”待命”狀態。當該實例失敗時,集群會選舉剩余實例中的一個來繼續提供服務。

失敗處理策略

X-Job:調度失敗時的處理策略,策略包括:失敗告警(默認)、失敗重試;

E-Job:彈性擴容縮容在下次作業運行前重分片,但本次作業執行的過程中,下線的服務器所分配的作業將不會重新被分配。失效轉移功能可以在本次作業運行中用空閑服務器抓取孤兒作業分片執行。同樣失效轉移功能也會犧牲部分性能。

動態分片策略

X-Job:分片廣播任務以執行器為維度進行分片,支持動態擴容執行器集群從而動態增加分片數量,協同進行業務處理;在進行大數據量業務操作時可顯著提升任務處理能力和速度。

執行器集群部署時,任務路由策略選擇”分片廣播”情況下,一次任務調度將會廣播觸發對應集群中所有執行器執行一次任務,同時傳遞分片參數;可根據分片參數開發分片任務;

E-Job:支持多種分片策略,可自定義分片策略

默認包含三種分片策略:基于平均分配算法的分片策略、 作業名的哈希值奇偶數決定IP升降序算法的分片策略、根據作業名的哈希值對Job實例列表進行輪轉的分片策略,支持自定義分片策略。


elastic-job的分片是通過zookeeper來實現的。分片的分片由主節點分配,如下三種情況都會觸發主節點上的分片算法執行:a、新的Job實例加入集群 b、現有的Job實例下線(如果下線的是leader節點,那么先選舉然后觸發分片算法的執行) c、主節點選舉。

和quartz框架對比

  • 調用API的的方式操作任務,不人性化;
  • 需要持久化業務QuartzJobBean到底層數據表中,系統侵入性相當嚴重。
  • 調度邏輯和QuartzJobBean耦合在同一個項目中,這將導致一個問題,在調度任務數量逐漸增多,同時調度任務邏輯逐漸加重的情況加,此時調度系統的性能將大大受限于業務;
  • Quartz關注點在于定時任務而非數據,并無一套根據數據處理而定制化的流程。雖然Quartz可以基于數據庫實現作業的高可用,但缺少分布式并行調度的功能。

綜合對比

圖片

總結和結論

共同點:E-Job和X-job都有廣泛的用戶基礎和完整的技術文檔,都能滿足定時任務的基本功能需求。

不同點:

  • X-Job 側重的業務實現的簡單和管理的方便,學習成本簡單,失敗策略和路由策略豐富。推薦使用在“用戶基數相對少,服務器數量在一定范圍內”的情景下使。
  • E-Job 關注的是數據,增加了彈性擴容和數據分片的思路,以便于更大限度的利用分布式服務器的資源。但是學習成本相對高些,推薦在“數據量龐大,且部署服務器數量較多”時使用。
責任編輯:武曉燕 來源: 碼猿技術專欄
相關推薦

2024-02-19 00:00:00

分布式定時任務框架

2022-03-17 09:55:05

架構分布式選型

2019-11-12 09:32:39

分布式elastic-job分片

2022-03-28 07:51:25

分布式定時任務

2023-01-04 09:23:58

2019-07-19 15:51:11

框架選型分布式

2022-03-07 11:20:01

分布式代碼微服務

2022-03-23 11:45:39

Quartz數據庫節點

2025-11-04 01:21:00

Spring分布式數據

2025-07-28 01:12:00

2023-06-26 00:14:28

Openjob分布式任務

2025-08-01 08:47:45

2025-09-18 07:45:55

2025-11-11 07:51:00

2019-11-15 10:16:27

分布式任務框架

2023-02-10 00:04:53

2022-06-13 10:01:36

Apollo攜程框架

2025-03-06 11:30:15

2022-03-07 08:14:27

并發分布式

2018-04-03 09:27:42

分布式架構系統
點贊
收藏

51CTO技術棧公眾號

亚洲欧洲日本国产| 欧美一区二区三区……| 免费av网站在线观看| 一本一道久久a久久精品| 四虎国产精品永远| 亚洲免费精彩视频| 日本久久伊人| 亚洲一区二区在线播放| 一本二本三本亚洲码| 亚洲女同另类| 97超碰国产精品| 亚洲欧美另类在线| 幼a在线观看| 日韩在线观看视频免费| 免费看毛片的网址| 你懂的网址国产 欧美| 色女人综合av| 97欧美成人| 欧美激情欧美激情| 欧美精品色图| 日韩精品久久一区二区| 欧美性生交xxxxx久久久| 一级毛片久久久| 日韩av片电影专区| 国产乱人伦偷精品视频不卡| 日韩精品系列| 性xxxx欧美老肥妇牲乱| 99se婷婷在线视频观看| 国产在线精品国自产拍免费| 欧美尤物美女在线| 91免费视频网站| 99久久婷婷国产综合精品电影| 成人激情电影在线看| 亚洲一区免费| 亚洲精品成人自拍| 精品久久久久国产| 99蜜月精品久久91| 一区二区欧美日韩| 精品国产乱码久久久久久免费| 午夜a一级毛片亚洲欧洲| 久无码久无码av无码| 亚洲在线观看一区| 91精品视频网站| 成a人片国产精品| 国产人成网在线播放va免费| www.久久艹| 7799精品视频| 青青草91视频| 在线观看的网站你懂的| 亚洲在线视频网站| 91.·福利| 精品久久国产精品| 国产成人免费视频网站| 国产伦子伦对白在线播放观看| 久久一区免费| 亚洲国产精品成人av| 黄色精品一二区| 爱啪啪综合导航| 搞av.com| 欧美在线中文字幕| 一区二区三区欧美亚洲| 欧美va天堂在线| a黄色在线观看| 国产精品免费观看高清| 欧美肥妇毛茸茸| www..com久久爱| 四虎成人av| 中文字幕21页在线看| 人妻激情另类乱人伦人妻| 不卡伊人av在线播放| 在线观看日产精品| 成人三级在线视频| 欧美aa国产视频| 韩国成人动漫| 在线视频观看你懂的| 热这里只有精品| 国产成人拍精品视频午夜网站| 日韩一区二区电影在线| 成人免费毛片app| 黑丝美女一区二区| 国产女人在线视频| 亚洲乱码日产精品bd在线观看| 日韩高清av一区二区三区| 成人禁用看黄a在线| 欧美裸体在线版观看完整版| 国产在线|日韩| 97电影在线看视频| 丁香六月激情网| 26uuu久久噜噜噜噜| 4438x亚洲最大成人网| 亚洲男女毛片无遮挡| 波多野结衣中文字幕一区| 老司机精品久久| 国产欧美日韩视频在线| 芒果视频成人app| 高清在线视频不卡| 诱人的瑜伽老师3hd中字| 精品中文字幕av| 麻豆传媒网站在线观看| 91免费福利视频| 国产精品美女主播| 国产91精品青草社区| 欧美黑人xxxⅹ高潮交| 中文字幕精品久久| 伊人久久久久久久久久| 日韩成人激情视频| 欧美变态tickling挠脚心| 欧美亚洲综合在线| 欧美日韩精品综合在线| 欧美午夜影院一区| 欧美电影一区二区| 欧美α欧美αv大片| 这里只有精品视频在线观看| 精品国产精品三级精品av网址| 中文字幕不卡在线| 国产福利一区二区三区在线视频| 日韩电影在线观看电影| 欧美三级视频| 肉丝袜脚交视频一区二区| 一本久道久久综合婷婷鲸鱼| 免费久久99精品国产自在现线| 亚洲国产91| 美女在线观看视频一区二区| 另类欧美日韩国产在线| 欧美aaaaa成人免费观看视频| 国产精品一卡| 国产成人午夜精品影院观看视频 | 亚洲国产欧美一区二区三区久久| 欧美中文字幕亚洲一区二区va在线| 欧美一级在线| 性欧美18~19sex高清播放| 日韩在线激情| 国产91一区| 自拍自偷一区二区三区| 欧美一区二区麻豆红桃视频| 水蜜桃久久夜色精品一区| 亚洲色图国产| 看片网站欧美日韩| 综合婷婷亚洲小说| 欧美性猛交xxxx乱大交退制版| 主播福利视频一区| 国产欧美久久久久久| 欧美精品高清视频| 亚洲欧美日韩网| 午夜精品99久久免费| 欧美一区二区三区四区五区六区| 男女啪啪的视频| 午夜在线免费视频| 婷婷激情一区| 欧美www视频在线观看| 国产在线观看一区二区| 亚洲色图视频免费播放| 亚洲乱码一区二区| 国产精品高潮呻吟久久av野狼| 美女网站视频一区| 亚洲毛片免费看| 国产寡妇亲子伦一区二区| 亚洲成a人片综合在线| 欧美大尺度激情区在线播放| 国产一区二区在线免费播放| 欧美伊人亚洲伊人色综合动图| 成人福利一区| 毛片一区二区三区| 国产精品你懂的| 色综合久久中文综合久久97| 欧美日韩国产美| 欧美二区在线播放| 97伦理在线四区| 一区二区日本伦理| 日本黄色a视频| 视频午夜在线| 亚洲s色大片在线观看| 日本韩国福利视频| 国产精品调教视频| 国产精品天天看| 日韩一区二区三区av| 欧美劲爆第一页| 欧美综合视频在线观看| 69**夜色精品国产69乱| 99热都是精品| 波多野结衣亚洲| 国产91富婆露脸刺激对白| 欧美性少妇18aaaa视频| 亚洲精美色品网站| 国产一区深夜福利| 亚洲人成无码www久久久| 久青草国产97香蕉在线视频| 亚洲精品乱码久久久久久| 一区二区在线电影| 伊人久久精品视频| 免费国产一区| 污视频免费在线看| 欧美日韩一区二区三区四区不卡 | 亚洲老妇xxxxxx| 成人黄色激情网| 国产高清免费在线播放| 国产精品一区二区在线观看不卡 | 成年人网站大全| 爱爱精品视频| 91福利精品视频|