多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php框架 > 框架設計 > 分布式任務調度實現方式

分布式任務調度實現方式

來源:程序員人生   發布時間:2015-03-28 08:37:11 閱讀次數:4763次
背景

  散布式任務調度是非常常見的1種利用場景,1般對可用性和性能要求不高的任務,采取單點便可,例如linux的crontab,spring的quarz,但是如果要求部署多個節點,到達高可用的效果,上面的方案就不適用了。

實際上任務調度的實現有兩種情況,第1種是通過mq來實現,mq做好了數據切分,負載均衡的效果,本文說的是另外一種情況。



要求

  1、不重復

如果只到達這個要求,有很多方法,假定任務處理的是1張表中的數據,那可以根據某個字段取模到達不重復的效果。

2、不遺漏

如果用上面的方案解決了重復的問題,有1個節點掛掉,需要其他節點接收掛掉節點的任務,這就要求散布式任務調度必須有指揮中心,否則很容易造成重復或遺漏。



tbschedule

  上圖是tbschedule的架構圖,基本滿足了散布式任務調度的要求,zookeeper有兩個功能,1個是配置數據存儲,另外一個是作為調度中心,管理界面直接連接zookeeper獲得配置信息,并且修改配置,通過zookeeper通知任務修改配置項。

要求不高的話可以直接拿來用,雖然文檔少,但是代碼量很少,可以直接通過讀代碼了解功能。

tbschedule已滿足了大多數需求,代碼寫的也非常優秀,但是有幾個地方是可以改進的,

1、前面提到的,1般情況下,我們是不需要多個節點同時工作的,只要有1個節點工作,掛掉其他節點能代替就能夠了。由于取數據通常不是性能瓶頸,瓶頸在處理數據,多個節點的目的不過是為了高可用。如果通過sql取模進行分片,sql的性能非常低,走不了索引。如果表數據已做了水平拆分,那可以直接根據數據源切分任務項。

2、tbschedule是把所有任務都處理完才算結束,但是有些場景要求只履行1次,哪怕還有任務要處理,tbschedule需要增加1個配置項;

3、履行時間修改必須在每一個履行周期后才能生效,這個常常在調試的時候出現麻煩,這樣做確切是最簡單的做法,避免了很多問題,但是如果開發人員要配置任務每分鐘履行1次,結果寫錯了配置成每天履行1次,就完善的落入圈套,等半天也看不到履行,還以為配置錯了,重啟可以解決;

4、沒有負載均衡效果,tbschedule認為每臺機器的配置都是1樣的,就算配置1樣,數據項不1樣也容易引發其中1個節點壓力特別大。需要根據機器的負載情況、程序的繁忙情況做1個加權平均來做負載。




更多精彩內容,請關注本人公眾號



生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 一区二区精品 | 免费高清不卡毛片在线看 | 国产精品一区二区久久不卡 | 爱爱综合网 | 欧美一区二区三区高清视频 | 免费jizz在线播放视频高清版 | 国产乱人乱精一区二区视频密 | 在线a级 | 日本动漫片b站免费观看 | www天堂在线| 亚洲天堂久久精品成人 | 免费在线成人网 | 日韩欧美一区二区三区中文精品 | 久久久www免费人成看片 | 福利视频一区二区微拍堂 | 手机看片国产精品 | 日韩视频一 | 亚洲精品国产第一区二区图片 | 激情五月开心婷婷 | 色图综合 | jizzjizz中国丝袜美女 | 在线观看中文字幕第一页 | 免费在线h视频 | 中文字幕在线第一页 | 高清欧美在线三级视频 | a级艳片武则天 | 亚洲国产高清视频在线观看 | 成人在线免费视频 | freexxxhd性| 国产精品综合一区二区三区 | 欧美黑人巨大xxxxx | 国产一区二区三区高清视频 | 一级做a爱| 日韩一级在线观看 | 亚洲高清在线天堂精品 | 亚洲成人黄色在线 | 美国一级毛片oo | 一级在线观看视频 | 欧美日韩成人在线视频 | 亚洲精品人成在线观看 | free性日韩女人frhd |