日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

什么是分布式任务调度

發布時間:2024/4/14 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是分布式任务调度 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

當前軟件的架構已經開始向分布式架構轉變,將單體結構拆分為若干服務,服務之間通過網絡交互來完成業務處理。在分布式架構下,一個服務往往會部署多個實例來運行我們的業務,如果在這種分布式系統環境下運行任務調度,我們稱之為分布式任務調度

將任務調度程序分布式構建,這樣就可以具有分布式系統的特點,并且提高任務的調度處理能力:

1、并行任務調度

并行任務調度實現靠多線程,如果有大量任務需要調度,此時光靠多線程就會有瓶頸了,因為一臺計算機CPU的處理能力是有限的。

如果將任務調度程序分布式部署,每個結點還可以部署為集群,這樣就可以讓多臺計算機共同去完成任務調度,我們可以將任務分割為若干個分片,由不同的實例并行執行,來提高任務調度的處理效率。

2、高可用

若某一個實例宕機,不影響其他實例來執行任務。

3、彈性擴容

當集群中增加實例就可以提高并執行任務的處理效率。

4、任務管理與監測

對系統中存在的所有定時任務進行統一的管理及監測。讓開發人員及運維人員能夠時刻了解任務執行情況,從而做出快速的應急處理響應。

分布式任務調度面臨的問題:

當任務調度以集群方式部署,同一個任務調度可能會執行多次,例如:電商系統定期發放優惠券,就可能重復發放優惠券,對公司造成損失,信用卡還款提醒就會重復執行多次,給用戶造成煩惱,所以我們需要控制相同的任務在多個運行實例上只執行一次。常見解決方案:

  • 分布式鎖,多個實例在任務執行前首先需要獲取鎖,如果獲取失敗那么就證明有其他服務已經在運行,如果獲取成功那么證明沒有服務在運行定時任務,那么就可以執行。

  • ZooKeeper選舉,利用ZooKeeper對Leader實例執行定時任務,執行定時任務的時候判斷自己是否是Leader,如果不是則不執行,如果是則執行業務邏輯,這樣也能達到目的。

總結

以上是生活随笔為你收集整理的什么是分布式任务调度的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。