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

分布式異步任務(wù)處理組件(五)

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

節(jié)點(diǎn)上線和下線的邏輯--

節(jié)點(diǎn)下線分為兩種--心跳失敗主動(dòng)或被動(dòng)和主節(jié)點(diǎn)斷開連接,但是節(jié)點(diǎn)本身沒有發(fā)生重啟;第二種就是節(jié)點(diǎn)宕機(jī)重啟--其實(shí)這兩中情況下處理邏輯都是一樣的,只是節(jié)點(diǎn)本身如果還能消費(fèi)到kafka的時(shí)候可以繼續(xù)執(zhí)行任務(wù)但是不能從kafka中拉取新的消息,因?yàn)榇藭r(shí)自己無法獲取消息的投票信息,在執(zhí)行的過程中可以提交;執(zhí)行完之后還沒有重新加入集群則應(yīng)該斷開和kafka的鏈接---

可以不和kafka斷開連接的原因是此時(shí)自己和kafka的消息不回被其他節(jié)點(diǎn)消費(fèi),所以執(zhí)行隊(duì)列中的任務(wù)可以正常執(zhí)行并提交;但是存疑隊(duì)列中無法舉證所以只能等待----具體看是否要等待執(zhí)行完;--主要綜合考慮存疑隊(duì)列;

消息消費(fèi)模型--

分布式異步任務(wù)處理組件(五),分布式

如何保證一個(gè)消息只會(huì)被執(zhí)行一次---從幾個(gè)方面保證--一個(gè)消息最多可能存在于兩個(gè)節(jié)點(diǎn)中(除非多個(gè)節(jié)點(diǎn)都在執(zhí)行消息的時(shí)候失敗,這種概率是很小的),消息出現(xiàn)在其他節(jié)點(diǎn)中的情況--partition重分配,則該節(jié)點(diǎn)執(zhí)行隊(duì)列中的消息可能被其他節(jié)點(diǎn)消費(fèi),但是只會(huì)進(jìn)入到其他節(jié)點(diǎn)的存疑隊(duì)列中,而不是直接被執(zhí)行,存疑隊(duì)列通過舉證和執(zhí)行檢查策略保證該消息沒有即將被執(zhí)行或者正在被執(zhí)行或者最終被執(zhí)行完成;才可以重新執(zhí)行;---有一種情況,該節(jié)點(diǎn)開始執(zhí)行任務(wù)了,但是此時(shí)斷開和主節(jié)點(diǎn)的鏈接,而恰好其他節(jié)點(diǎn)對(duì)該任務(wù)舉證,這會(huì)導(dǎo)致該任務(wù)有可能被其他節(jié)點(diǎn)執(zhí)行---這里需要在每個(gè)任務(wù)執(zhí)行前向主節(jié)點(diǎn)匯報(bào);

幾個(gè)確定性機(jī)制可以保證消息不會(huì)被重復(fù)執(zhí)行--文章來源地址http://www.zghlxwxcb.cn/news/detail-621377.html

  1. 投票進(jìn)入執(zhí)行隊(duì)列中的任務(wù)肯定可以被執(zhí)行---在和主節(jié)點(diǎn)正常連接的情況下;
  2. 和主節(jié)點(diǎn)斷開連接的節(jié)點(diǎn)不能繼續(xù)執(zhí)行任務(wù),可能錯(cuò)過舉證,需要清空?qǐng)?zhí)行隊(duì)列;
  3. 任務(wù)執(zhí)行前需要向主節(jié)點(diǎn)匯報(bào)--保證該任務(wù)在執(zhí)行過程中和主節(jié)點(diǎn)斷開連接不會(huì)讓該任務(wù)被其他執(zhí)行;---斷開連接就清空?qǐng)?zhí)行隊(duì)列保證未執(zhí)行的任務(wù)在斷開連接之后可以被其他節(jié)點(diǎn)執(zhí)行,但是自己不會(huì)再重復(fù)執(zhí)行;
  4. 存異隊(duì)列中的任務(wù)必須通過舉證--通過舉證則證明主節(jié)點(diǎn)運(yùn)行正常;
  5. 舉證通過保證沒有節(jié)點(diǎn)即將執(zhí)行該任務(wù)或者正在執(zhí)行該任務(wù);--對(duì)于即將執(zhí)行的任務(wù)可以采取重新分配的策略;或者使用監(jiān)聽策略;正在執(zhí)行的任務(wù)使用超時(shí)+檢查來確定該任務(wù)的最終執(zhí)行情況;
  6. 一種情況---節(jié)點(diǎn)A準(zhǔn)備執(zhí)行任務(wù)a,向主節(jié)點(diǎn)發(fā)送了a的prepare信息,開始執(zhí)行,但是在執(zhí)行過程中主節(jié)點(diǎn)失敗,重新選舉,導(dǎo)致a的prepare信息丟失,同時(shí)節(jié)點(diǎn)A沒有加入到新集群中--沒有和新的主節(jié)點(diǎn)建立連接,此時(shí)節(jié)點(diǎn)B對(duì)任務(wù)a發(fā)起舉證,會(huì)導(dǎo)致a舉證通過,(舉證完成之后運(yùn)行檢查策略節(jié)點(diǎn)A沒有執(zhí)行完,此時(shí)節(jié)點(diǎn)B運(yùn)行檢查策略也會(huì)通過)節(jié)點(diǎn)B準(zhǔn)備執(zhí)行a,這種情況下會(huì)導(dǎo)致任務(wù)a同時(shí)被AB兩個(gè)節(jié)點(diǎn)執(zhí)行----這種情況無法避免,通過時(shí)差來保證,或者全節(jié)點(diǎn)同步prepare信息來保證,但是會(huì)影響性能,可以想辦法降低概率來保證---目前只有這種情況會(huì)導(dǎo)致同一個(gè)任務(wù)被多個(gè)節(jié)點(diǎn)執(zhí)行;
  7. 未開始執(zhí)行的任務(wù)不會(huì)導(dǎo)致這種情況發(fā)生--因?yàn)楣?jié)點(diǎn)和主節(jié)點(diǎn)斷開連接之后不會(huì)執(zhí)行新的任務(wù),而是要重新舉證才可以執(zhí)行;而通過舉證的消息

到了這里,關(guān)于分布式異步任務(wù)處理組件(五)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

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

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

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

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

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

    2024年04月10日
    瀏覽(23)
  • celery分布式異步任務(wù)隊(duì)列-4.4.7

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

    2024年02月07日
    瀏覽(46)
  • 分布式任務(wù)調(diào)度,定時(shí)任務(wù)的處理方案

    分布式任務(wù)調(diào)度,定時(shí)任務(wù)的處理方案

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

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

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

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

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

    Celery分布式異步框架

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

    2024年02月11日
    瀏覽(25)
  • 分布式定時(shí)任務(wù)

    分布式定時(shí)任務(wù)

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

    2023年04月15日
    瀏覽(24)
  • 分布式、鎖、延時(shí)任務(wù)

    分布式、鎖、延時(shí)任務(wù)

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

    2024年02月09日
    瀏覽(30)
  • 分布式任務(wù)調(diào)度系統(tǒng)分析

    分布式任務(wù)調(diào)度系統(tǒng)分析

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

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

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

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

    2023年04月25日
    瀏覽(61)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包