国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

分布式異步任務處理組件(四)

這篇具有很好參考價值的文章主要介紹了分布式異步任務處理組件(四)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

基于zookeeper的HA集群設計思路--

  1. 各個節(jié)點都可以消費任務,但是由主節(jié)點來投票;
  2. 主節(jié)點通過注冊zookeeper的臨時節(jié)點來選舉--主節(jié)點需要同步從節(jié)點的信息
  3. 正常工作機制--各個節(jié)點(包括主節(jié)點本身)在執(zhí)行任務之前詢問主節(jié)點,主節(jié)點通過布隆過濾器判斷該任務是否被執(zhí)行;
  4. 如果該任務被執(zhí)行過,則從節(jié)點將該任務加入存疑隊列中--主節(jié)點不能保證一定被執(zhí)行;任務被消費的幾種可能--
    1. 新增節(jié)點,導致partition重分配--通過舉證即可完成校驗;
    2. 節(jié)點失敗,導致partition重分配--舉證無法校驗;執(zhí)行該任務的節(jié)點下線;需要運行任務檢查策略--消息冪等性校驗;
  5. 存疑隊列中的任務間隔時間需要其他節(jié)點舉證--是否有其他節(jié)點準備執(zhí)行或者正在執(zhí)行或者執(zhí)行過但是沒有來得及提交;
  6. 其他節(jié)點舉證成功則丟棄該消息;其他節(jié)點舉證失敗則運行檢查策略;
  7. 節(jié)點任務執(zhí)行成功則向kafka提交消息;
  8. kafka提交失敗說明此時發(fā)生了partition重分配,則節(jié)點向主節(jié)點提交消息,主節(jié)點負責處理該未提交的消息;
  9. 主節(jié)點投票邏輯--
    1. 主節(jié)點自己判斷是否通過--可以通過則更新布隆過濾器并通知其他節(jié)點,返回所有節(jié)點的并集;
    2. 如果投票過程中某個節(jié)點下線;主節(jié)點主動和該節(jié)點斷開連接;
  10. 節(jié)點下線邏輯---
    1. 網(wǎng)絡延遲--
      1. 保留任務執(zhí)行進度并嘗試重連
      2. 短時間內重連失敗則進入同步模式,等待和主節(jié)點同步數(shù)據(jù);并不能直接消費;
    2. 節(jié)點宕機--
      1. 節(jié)點下線需要主節(jié)點處理--主節(jié)點斷開和該節(jié)點的鏈接
  11. 節(jié)點上線--
    1. 如果沒有主節(jié)點,則該節(jié)點搶占leader,但是observer節(jié)點會被篡位--使用篡位機制還是同步機制--進入選舉狀態(tài)
    2. 如果存在主節(jié)點,向主節(jié)點發(fā)起連接請求,主節(jié)點會同步自己的布隆過濾器數(shù)據(jù);同步完成即可加入;
  12. 選舉--
    1. 集群初始化--節(jié)點啟動狀態(tài)為observer節(jié)點,如果沒有主節(jié)點,則observer搶占成為leader節(jié)點;如果有主節(jié)點,則請求主節(jié)點加入集群;
    2. 某個節(jié)點成為主節(jié)點之后需要和其他節(jié)點完成數(shù)據(jù)同步---這樣防止主節(jié)點在
  13. 幾種節(jié)點下線情況--
    1. 從節(jié)點網(wǎng)絡延遲,被動斷開和主節(jié)點的連接--這時重新加入集群需要向主節(jié)點同步信息;
    2. 主節(jié)點下線--引發(fā)選舉節(jié)點---主節(jié)點有可能在消息分發(fā)的過程中下線,這樣會導致數(shù)據(jù)不同步的問題,所以主節(jié)點在重新接入集群的時候需要同步各個集群的數(shù)據(jù);
    3. 主節(jié)點下線--等待主節(jié)點發(fā)送決議消息的從節(jié)點將直接將該消息加入存異隊列中;
    4. 主節(jié)點負責調度--管理各個節(jié)點已經(jīng)消費的消息和已經(jīng)提交的消息;
  14. 消息消費流程-

分布式異步任務處理組件(四),分布式

?消息最多可能存在兩個節(jié)點中--文章來源地址http://www.zghlxwxcb.cn/news/detail-621731.html

  1. 新增節(jié)點導致已經(jīng)被其他節(jié)點拉取但是沒被執(zhí)行的任務被新節(jié)點拉取,此時任務會被前一個節(jié)點執(zhí)行但是被新節(jié)點提交;
  2. 某個節(jié)點宕機、或者與集群斷開連接導致被該節(jié)點拉取但是沒有提交的任務被其他節(jié)點拉取,此時該任務會被后拉取的節(jié)點執(zhí)行并提交;
  3. 所以存異隊列中的消息肯定要被該節(jié)點提交;但是是否該由該節(jié)點執(zhí)行卻取決于舉證結果,如果其他節(jié)點舉證自己正在執(zhí)行該任務,則不執(zhí)行,如果沒有節(jié)點執(zhí)行或者沒有查詢到提交記錄則移交到執(zhí)行隊列中;
  4. 閉環(huán)在于--被拉去過的任務如果被再次消費肯定會加入到存疑隊列中,加上舉證和檢查策略就能保證該任務最終狀態(tài)的確定;
  5. 在情況1中,該任務被執(zhí)行應該提交給主節(jié)點還是直接提交給監(jiān)聽節(jié)點---因該監(jiān)聽主節(jié)點,保證在執(zhí)行節(jié)點下線的時候該節(jié)點能夠及時收到下線信息并重新承擔該任務的執(zhí)行角色;
  6. 節(jié)點下線--宕機下線或者和主節(jié)點斷開連接,此時應該放棄消費kafka中的消息,保證消息不會被重復消費;

到了這里,關于分布式異步任務處理組件(四)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Asynq: 基于Redis實現(xiàn)的Go生態(tài)分布式任務隊列和異步處理庫

    Asynq: 基于Redis實現(xiàn)的Go生態(tài)分布式任務隊列和異步處理庫

    Asynq [1] 是一個Go實現(xiàn)的分布式任務隊列和異步處理庫,基于redis,類似Ruby的 sidekiq [2] 和Python的 celery [3] 。Go生態(tài)類似的還有 machinery [4] 和goworker 同時提供一個WebUI asynqmon [5] ,可以源碼形式安裝或使用Docker image, 還可以和Prometheus集成 docker run --rm --name asynqmon -p 8080:8080 hibiken/as

    2024年02月14日
    瀏覽(22)
  • 分布式異步任務框架celery

    Celery是一個基于消息中間件的分布式任務隊列框架,專門用于處理異步任務。它允許生產(chǎn)者發(fā)送任務到消息隊列,而消費者則負責處理這些任務。Celery的核心特性包括異步執(zhí)行、實時操作支持以及強大的調度能力,使其每天可以處理數(shù)以百萬計的任務。 在Celery中,任務是以

    2024年04月10日
    瀏覽(24)
  • celery分布式異步任務隊列-4.4.7

    version 4.4.7 學習總結 python實現(xiàn)、開源、遵循BSD許可的分布式任務隊列; 可以處理大量消息,簡單、靈活、可靠的分布式系統(tǒng),專注任務的 實時處理 和 定時調度 處理; 它是線程、進程分配任務的一種機制,官方僅做支持linux開發(fā)。 五大部分: task,任務 beat,定時調度管理器

    2024年02月07日
    瀏覽(48)
  • 分布式任務調度,定時任務的處理方案

    分布式任務調度,定時任務的處理方案

    適用場景: Spring 定時任務是 Spring 框架提供的一種輕量級的任務調度方案,它的特點是簡單易用、輕量級。Spring 定時任務的執(zhí)行是在 單個節(jié)點 上進行的,如果需要分布式任務調度,需要自己實現(xiàn)相應的解決方案。 1.導入依賴版本自己控制 2.啟動類加上@EnableScheduling 3.編寫業(yè)

    2023年04月14日
    瀏覽(47)
  • 4.4 媒資管理模塊 - 分布式任務處理介紹、視頻處理技術方案

    4.4 媒資管理模塊 - 分布式任務處理介紹、視頻處理技術方案

    視頻轉碼是指的對視頻文件的編碼格式進行轉換 視頻上傳成功需要對視頻的格式進行轉碼處理,比如:avi轉成mp4 一般做文件存儲的服務都需要對文件進行處理,例如對視頻進行轉碼處理,可能由于文件量較大需要使用多線程等技術進行高效處理 文件格式 :是指.mp4、.avi、

    2024年02月02日
    瀏覽(33)
  • Celery分布式異步框架

    Celery分布式異步框架

    \\\"\\\"\\\" 1)可以不依賴任何服務器,通過自身命令,啟動服務(內部支持socket) 2)celery服務為為其他項目服務提供異步解決任務需求的 注:會有兩個服務同時運行,一個是項目服務,一個是celery服務,項目服務將需要異步處理的任務交給celery服務,celery就會在需要時異步完成項目的

    2024年02月11日
    瀏覽(27)
  • 分布式、鎖、延時任務

    分布式、鎖、延時任務

    Redis分布式鎖-這一篇全了解(Redission實現(xiàn)分布式鎖完美方案) ls / / 下有哪些子節(jié)點 get /zookeeper 查看某個子節(jié)點內容 create /aa “test” delete /aa set /aa “test01” 模式 默認創(chuàng)建永久 create -e 創(chuàng)建臨時 create -e /zz “hello zz” create -s 創(chuàng)建 有序節(jié)點 create -s -e 臨時序列化節(jié)點 一次性的監(jiān)

    2024年02月09日
    瀏覽(31)
  • 分布式定時任務

    分布式定時任務

    本文引用了谷粒商城的課程 定時任務是我們系統(tǒng)里面經(jīng)常要用到的一些功能。如每天的支付訂單要與支付寶進行對賬操作、每個月定期進行財務匯總、在服務空閑時定時統(tǒng)計當天所有信息數(shù)據(jù)等。 定時任務有個非常流行的框架Quartz和Java原生API的Timer類。Spring框架也可以支持

    2023年04月15日
    瀏覽(28)
  • 分布式任務調度系統(tǒng)分析

    分布式任務調度系統(tǒng)分析

    首先,我們來思考一些幾個業(yè)務場景: XX 信用卡中心,每月 28 日凌晨 1:00 到 3:00 需要完成全網(wǎng)用戶當月的費用清單的生成 XX 電商平臺,需要每天上午 9:00 開始向會員推送送優(yōu)惠券使用提醒 XX 公司,需要定時執(zhí)行 Python 腳本,清理掉某文件服務系統(tǒng)中無效的 tmp 文件 最開始,

    2023年04月22日
    瀏覽(39)
  • ray-分布式計算框架-集群與異步Job管理

    ray-分布式計算框架-集群與異步Job管理

    0. ray 簡介 ray是開源分布式計算框架,為并行處理提供計算層,用于擴展AI與Python應用程序,是ML工作負載統(tǒng)一工具包 Ray AI Runtime ML應用程序庫集 Ray Core 通用分布式計算庫 Task -- Ray允許任意Python函數(shù)在單獨的Python worker上運行,這些異步Python函數(shù)稱為任務 Actor -- 從函數(shù)擴展到類

    2023年04月25日
    瀏覽(61)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包