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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Elastic-Job重要概念

發(fā)布時間:2024/4/14 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Elastic-Job重要概念 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • 分片

    任務的分布式執(zhí)行,需要將一個任務拆分為多個獨立的任務項,然后由分布式的服務器分別執(zhí)行某一個或幾個分片項。例如:有一個遍歷數(shù)據(jù)庫某張表的作業(yè),現(xiàn)有2臺服務器。為了快速的執(zhí)行作業(yè),那么每臺服務器應執(zhí)行作業(yè)的50%。 為滿足此需求,可將作業(yè)分成2片,每臺服務器執(zhí)行1片。作業(yè)遍歷數(shù)據(jù)的邏輯應為:服務器A遍歷ID以奇數(shù)結尾的數(shù)據(jù);服務器B遍歷ID以偶數(shù)結尾的數(shù)據(jù)。 如果分成10片,則作業(yè)遍歷數(shù)據(jù)的邏輯應為:每片分到的分片項應為ID%10,而服務器A被分配到分片項0,1,2,3,4;服務器B被分配到分片項5,6,7,8,9,直接的結果就是服務器A遍歷ID以0-4結尾的數(shù)據(jù);服務器B遍歷ID以5-9結尾的數(shù)據(jù)。

  • leader選舉

    zookeeper會保證在多臺服務器中選舉出一個leader,leader如果下線會觸發(fā)重新選舉,在選出下個leader前所有任務會被阻塞,leader會以“協(xié)調(diào)者”角色負責分片。

  • 分片策略

    AverageAllocationJobShardingStrategy

    全路徑:

    ? com.dangdang.ddframe.job.lite.api.strategy.impl.AverageAllocationJobShardingStrategy

    策略說明:

    ? 基于平均分配算法的分片策略,也是默認的分片策略。

    ? 如果分片不能整除,則不能整除的多余分片將依次追加到序號小的服務器。如:

    ? 如果有3臺服務器,分成9片,則每臺服務器分到的分片是:1=[0,1,2], 2=[3,4,5], 3=[6,7,8]

    ? 如果有3臺服務器,分成8片,則每臺服務器分到的分片是:1=[0,1,6], 2=[2,3,7], 3=[4,5]

    ? 如果有3臺服務器,分成10片,則每臺服務器分到的分片是:1=[0,1,2,9], 2=[3,4,5], 3=[6,7,8]


    OdevitySortByNameJobShardingStrategy

    全路徑:

    ? com.dangdang.ddframe.job.lite.api.strategy.impl.OdevitySortByNameJobShardingStrategy

    策略說明:

    ? 根據(jù)作業(yè)名的哈希值奇偶數(shù)決定IP升降序算法的分片策略。

    ? 作業(yè)名的哈希值為奇數(shù)則IP升序。

    ? 作業(yè)名的哈希值為偶數(shù)則IP降序。

    ? 用于不同的作業(yè)平均分配負載至不同的服務器。

    AverageAllocationJobShardingStrategy的缺點是,一旦分片數(shù)小于作業(yè)服務器數(shù),作業(yè)將永遠分配至IP地址靠前的服務器,導致IP地址靠后的服務器空閑。而OdevitySortByNameJobShardingStrategy則可以根據(jù)作業(yè)名稱重新分配服務器負載。如:

    如果有3臺服務器,分成2片,作業(yè)名稱的哈希值為奇數(shù),則每臺服務器分到的分片是:1=[0], 2=[1], 3=[]

    如果有3臺服務器,分成2片,作業(yè)名稱的哈希值為偶數(shù),則每臺服務器分到的分片是:3=[0], 2=[1], 1=[]


    RotateServerByNameJobShardingStrategy

    全路徑: com.dangdang.ddframe.job.lite.api.strategy.impl.RotateServerByNameJobShardingStrategy

    策略說明:

    ? 根據(jù)作業(yè)名的哈希值對服務器列表進行輪轉的分片策略。

  • 總結

    以上是生活随笔為你收集整理的Elastic-Job重要概念的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。