大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 動力頭條 集群環(huán)境下的定時任務

集群環(huán)境下的定時任務

更新時間:2019-02-13 10:56 來源:動力節(jié)點 瀏覽16296次

定時任務的實現(xiàn)方式有多種,例如JDK自帶的Timer+TimerTask方式,Spring 3.0以后的調度任務(Scheduled Task),Quartz框架等。

Timer+TimerTask是最基本的解決方案,但是比較遠古了;

Spring自帶的Scheduled Task是一個輕量級的定時任務調度器,支持固定時間(支持cron表達式)和固定時間間隔調度任務,支持線程池管理;

Quartz是一個功能完善的任務調度框架;

利用如上方式都可以輕松實現(xiàn)定時任務功能,這些實現(xiàn)方式在單臺應用服務器上部署運行是完全沒有問題的,但是有時候我們的項目不是部署在一臺機器上的,而是在一個集群環(huán)境上,即當應用服務器從單機擴展至多臺集群模式時,原來的定時任務調度方案肯定就行不通了,因為我們的預期一定是在某一時刻觸發(fā)執(zhí)行定時任務一次,而不是多次,當我們集群部署后就會造成定時任務被多次執(zhí)行。

所以我們就需要思考如何解決在集群環(huán)境下定時任務被多次執(zhí)行的問題?

1、將JOB信息維護在DB里,使用標志位來控制(如running=Y/N,“Y”表示運行中,“N”表示未運行),應用節(jié)點上觸發(fā)某個JOB執(zhí)行時,先查詢DB中該JOB的狀態(tài):沒有運行,更新狀態(tài)為運行中,再開始執(zhí)行定時任務,否則,跳過。

2、聲明一把全局的“鎖”作為互斥量,哪個應用服務器拿到這把“鎖”,就有執(zhí)行任務的權利,未拿到“鎖”的應用服務器不進行任何任務相關的操作,比如采用zookeeper的分布式鎖來實現(xiàn);

3、分布式調度解決方案 Elastic-Job,Elastic-Job 是一個分布式調度解決方案,由兩個相互獨立的子項目 Elastic-Job-Lite 和 Elastic-Job-Cloud 組成。

Elastic-Job-Lite 定位為輕量級無中心化解決方案,使用 jar 包的形式提供分布式任務的協(xié)調服務。

Elastic-Job-Cloud 使用 Mesos + Docker(TBD) 的解決方案,額外提供資源治理、應用分發(fā)以及進程隔離等服務。

Elastic-Job-Lite 和 Elastic-Job-Cloud 提供同一套 API 開發(fā)作業(yè),開發(fā)者僅需一次開發(fā),即可根據(jù)需要以 Lite 或 Cloud 的方式部署。

集群環(huán)境下的定時任務

elastic-job結合了quartz非常優(yōu)秀的時間調度功能,并且利用ZooKeeper實現(xiàn)了靈活的分片策略,除此之外,還加入了大量實用的監(jiān)控和管理功能,以及其開源社區(qū)活躍、文檔齊全、代碼優(yōu)雅等優(yōu)點,是分布式任務調度框架的推薦選擇。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 成人免费网站视频www | 国色天香成人网 | 可以免费观看欧美一级毛片 | 久久永久免费视频 | 久久国产乱子伦精品免费看 | 91www成人久久 | 国产日产欧美一区二区三区 | 中文字幕欧美一区 | 中文字幕亚洲高清综合 | 亚洲永久精品ww47 | 性大交| 国产欧美一区二区精品性色 | 高清人人天天夜夜曰狠狠狠狠 | 亚州视频一区 | 四虎影视国产精品婷婷 | 亚洲精品成人7777在线观看 | 中文字幕在线观看2023 | 正在播放久久 | 欧美日韩国产成人综合在线影院 | 国产美女午夜精品福利视频 | 天天干天天射天天爽 | 深夜免费视频 | 99热久久国产精品这里 | 日本强日本不卡一 | 大乳女做爰中文字幕 | 狠狠的搞 | 免费观看国产一区二区三区 | 国产精品99久久99久久久看片 | 久久综合欧美 | 91精品免费不卡在线观看 | 日本精品久久久中文字幕 | 狠狠成人| 四虎影视黄色 | 99久久做夜夜爱天天做精品 | 亚洲色图二区 | 日日干日日操 | 亚洲精品亚洲人成在线播放 | 1000部羞羞禁止免费观看视频 | 中文字幕日本一区久久 | 久草午夜| 久久乐国产综合亚洲精品 |