中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

go任務調度11(分布式crontab架構分析)

發布時間:2020-07-09 01:08:07 來源:網絡 閱讀:1456 作者:梁十八 欄目:編程語言

crontab是單機工具
go任務調度11(分布式crontab架構分析)
go任務調度11(分布式crontab架構分析)
go任務調度11(分布式crontab架構分析)
go任務調度11(分布式crontab架構分析)
(所有worker都在調度,如果有1000個任務,所有worker都在調用者1000個任務。對于編譯型語言來說,排序一個一千萬的數組只需要一秒,對于一千一萬的調度,無需擔心性能)
go任務調度11(分布式crontab架構分析)
go任務調度11(分布式crontab架構分析)
go任務調度11(分布式crontab架構分析)
go任務調度11(分布式crontab架構分析)
go任務調度11(分布式crontab架構分析)
go任務調度11(分布式crontab架構分析)
go任務調度11(分布式crontab架構分析)
go任務調度11(分布式crontab架構分析)
(相當于完成一個到worker集群的通知,通知它們殺死任務)
go任務調度11(分布式crontab架構分析)
go任務調度11(分布式crontab架構分析)
go任務調度11(分布式crontab架構分析)
go任務調度11(分布式crontab架構分析)
go任務調度11(分布式crontab架構分析)
(
1.etcd中的任務會實時同步給worker,worker的調度協程會更新內存中維護的任務列表。etcd在內存中會鏡像一份和etcd完全一樣的任務清單,通過監聽機制實現。
2.調度協程會周期性檢查所有任務的cron任務表達式,掃描到期任務,到期任務會交給執行協程去執行。
3.同時,調度協程還會監聽一個任務控制事件(想要殺死某個任務),收到后,多個協程會強制中斷執行中的子進程(shell命令)。
4.執行協程返回結果給調度協程,調度協程可以更新內存中任務狀態,當任務調度給執行協程的時候,任務的狀態就被更新為執行中了。任務結果返回就將狀態改為執行完成。然后將執行結果投遞給日志協程。
)
go任務調度11(分布式crontab架構分析)
(worker是個集群,每個workder任務清單都是從etcd中全量同步的,所以大家都按照每個任務的調度周期,在同時調度,對于同一個任務,比如每秒執行的任務,所有worker每隔一秒都會去執行這個任務。如果不做并發控制,所有worker會同一時刻全部執行一次這個任務。我們希望一個任務同一時刻只被執行一次,不允許任務并發調度。如何防止并發呢?去etcd中搶鎖,大家都要調度,誰搶到誰調度,其他人等待下次過期,下次接著搶,搶到我就執行。這種很依賴各個時間節點的同步,校時不同會讓有些機器老是先搶到鎖。我們需要時間校準保障一致,還可以做些小策略,比如隨機睡眠n-m毫秒)
go任務調度11(分布式crontab架構分析)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

枞阳县| 镶黄旗| 长乐市| 蕲春县| 尚志市| 玛沁县| 汉川市| 温泉县| 琼海市| 汉沽区| 桦川县| 凭祥市| 华池县| 正镶白旗| 连云港市| 盐边县| 乡城县| 陇南市| 榆社县| 宁河县| 青铜峡市| 鄂托克前旗| 长垣县| 双鸭山市| 长兴县| 淳安县| 合水县| 南丹县| 伊金霍洛旗| 包头市| 徐闻县| 西乌珠穆沁旗| 萝北县| 镇原县| 利辛县| 台东县| 漯河市| 吴旗县| 淮安市| 资溪县| 内江市|