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

Kafka順序消費(fèi)以及消息積壓問題

這篇具有很好參考價(jià)值的文章主要介紹了Kafka順序消費(fèi)以及消息積壓問題。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一:順序消費(fèi)

什么場(chǎng)景下需要順序消費(fèi)?
比如說:訂單有很多狀態(tài),比如:下單(未支付)、完成(已支付)、撤銷等,不可能下單的消息都沒讀取到,就先讀取支付或撤銷的消息吧,要保證消息順序消費(fèi)

如何保證順序消費(fèi)?
kafka的topic是無序的,但是一個(gè)topic包含多個(gè)partition,每個(gè)partition內(nèi)部是有序的

只要保證生產(chǎn)者寫消息時(shí),按照一定的規(guī)則寫到同一個(gè)partition,不同的消費(fèi)者讀不同的partition的消息,就能保證生產(chǎn)和消費(fèi)者消息的順序。

路由字段的選擇:首先考慮消息消費(fèi)依賴的字段,訂單有很多狀態(tài),消費(fèi)消息是根據(jù)不同訂單狀態(tài)來做消費(fèi)邏輯的,可以以訂單ID為路由字段,這樣同一個(gè)訂單就會(huì)路由到同一個(gè)topic的partition下,這個(gè)partition內(nèi)的消息是有序的,每個(gè)partion再由一個(gè)消費(fèi)者消費(fèi) 。

2. 消息積壓

導(dǎo)致消息積壓的可能情況是很多的,要根據(jù)具體的業(yè)務(wù)來看,大致思路如下:

  • 首先看一下topic下積壓的情況,是全部partion積壓?還是某幾個(gè)partion積壓,如果單個(gè)partion積壓,那是不是消費(fèi)該partion的消費(fèi)者掛了,或者說是不是路由的字段不合理,導(dǎo)致都路由到這個(gè)分區(qū)了,那如果路由合理消費(fèi)者也正常,是不是該分區(qū)的零時(shí)積壓,零時(shí)積壓消費(fèi)端可以開更多的線程加快處理。

  • 如果是全部partion都積壓,那是不是消息體太大了,優(yōu)化消息體只保留必要的字段,如果消費(fèi)者這邊需要用到其他更加詳細(xì)的消息可以提供接口來查詢;如果消息體設(shè)計(jì)合理但是全部partion都積壓了,以訂單來說,是不是上游服務(wù)批量的更新了字段導(dǎo)致下游服務(wù)收到了大量的消息,造成了所有partition的消息積壓 ,直接加節(jié)點(diǎn)肯定是不行的,因?yàn)閗afka允許一個(gè)消費(fèi)者消費(fèi)多個(gè)partion,但是不允許一個(gè)partion被多個(gè)消費(fèi)者消費(fèi),這樣做也是為了避免資源的浪費(fèi),這種情況下,可以對(duì)消費(fèi)者開更多的線程處理,這種情況需要和其他的下游服務(wù)做溝通協(xié)調(diào),因?yàn)榭赡茏陨頃?huì)用到下游服務(wù),比如說消費(fèi)消息的邏輯里面包括查詢下游接口信息,協(xié)調(diào)是避免對(duì)下游服務(wù)造成沖擊,讓下游服務(wù)提前加服務(wù)節(jié)點(diǎn)。文章來源地址http://www.zghlxwxcb.cn/news/detail-861887.html

到了這里,關(guān)于Kafka順序消費(fèi)以及消息積壓問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(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)文章

  • Flink 消費(fèi)Kafka每日不定時(shí)積壓(非重啟不能解決)問題排查解決

    Flink 消費(fèi)Kafka每日不定時(shí)積壓(非重啟不能解決)問題排查解決

    1. 背景 ????????接手了一個(gè)問題排查的工作,有個(gè)Flink任務(wù)每天不定時(shí)會(huì)出現(xiàn)數(shù)據(jù)積壓,無論是白天還是數(shù)據(jù)量很少的夜里,且積壓的數(shù)據(jù)量會(huì)越來越多,得不到緩解,只能每日在積壓告警后重啟,重啟之后消費(fèi)能力一點(diǎn)毛病沒有,積壓迅速緩解,然而,問題會(huì)周而復(fù)始的

    2024年02月09日
    瀏覽(32)
  • kafka 如何保證消息的順序消費(fèi)

    在Kafka分布式集群中,要保證消息的順序消費(fèi),您可以采取以下措施: 分區(qū)策略 :Kafka的主題可以分為多個(gè)分區(qū),每個(gè)分區(qū)內(nèi)的消息是有序的。因此,首先要確保生產(chǎn)者將相關(guān)的消息發(fā)送到同一個(gè)分區(qū)。這可以通過生產(chǎn)者的分區(qū)策略來實(shí)現(xiàn)。默認(rèn)情況下,Kafka會(huì)使用基于消息

    2024年02月06日
    瀏覽(17)
  • Kafka 如何保證消息的消費(fèi)順序

    Kafka 如何保證消息的消費(fèi)順序

    我們?cè)谑褂孟㈥?duì)列的過程中經(jīng)常有業(yè)務(wù)場(chǎng)景需要嚴(yán)格保證消息的消費(fèi)順序,比如我們同時(shí)發(fā)了 2 個(gè)消息,這 2 個(gè)消息對(duì)應(yīng)的操作分別對(duì)應(yīng)的數(shù)據(jù)庫操作是: 更改用戶會(huì)員等級(jí)。 根據(jù)會(huì)員等級(jí)計(jì)算訂單價(jià)格。 假如這兩條消息的消費(fèi)順序不一樣造成的最終結(jié)果就會(huì)截然不同。

    2024年02月13日
    瀏覽(19)
  • Kafka 如何保證消息消費(fèi)的全局順序性

    Kafka 如何保證消息消費(fèi)的全局順序性

    哈嘍大家好,我是咸魚 今天我們繼續(xù)來講一講 Kafka 當(dāng)有消息被生產(chǎn)出來的時(shí)候,如果沒有指定分區(qū)或者指定 key ,那么消費(fèi)會(huì)按照【輪詢】的方式均勻地分配到所有可用分區(qū)中,但不一定按照分區(qū)順序來分配 我們知道,在 Kafka 中消費(fèi)者可以訂閱一個(gè)或多個(gè)主題,并被分配一

    2024年02月05日
    瀏覽(19)
  • Kafka、RocketMQ、RabbitMQ如何保證消息的順序消費(fèi)?

    一、1個(gè)Topic(主題)只創(chuàng)建1個(gè)Partition (分區(qū)),這樣生產(chǎn)者的所有數(shù)據(jù)都發(fā)送到了一個(gè)Partition (分區(qū)),保證了消息的消費(fèi)順序; 二、生產(chǎn)者在發(fā)送消息的時(shí)候指定要發(fā)送到哪個(gè) Partition,這樣同一個(gè) Partition 的數(shù)據(jù)會(huì)被同一個(gè)消費(fèi)者消費(fèi),從而保證了消息的消費(fèi)順序。 實(shí)現(xiàn)思路

    2024年02月09日
    瀏覽(24)
  • Kafka篇——Kafka消費(fèi)者端常見配置,涵蓋自動(dòng)手動(dòng)提交offset、poll消息細(xì)節(jié)、健康狀態(tài)檢查、新消費(fèi)組消費(fèi)offset規(guī)則以及指定分區(qū)等技術(shù)點(diǎn)配置,全面無死角,一篇文章拿下!

    Kafka篇——Kafka消費(fèi)者端常見配置,涵蓋自動(dòng)手動(dòng)提交offset、poll消息細(xì)節(jié)、健康狀態(tài)檢查、新消費(fèi)組消費(fèi)offset規(guī)則以及指定分區(qū)等技術(shù)點(diǎn)配置,全面無死角,一篇文章拿下!

    一、自動(dòng)提交offset 1、概念 Kafka中默認(rèn)是自動(dòng)提交offset。消費(fèi)者在poll到消息后默認(rèn)情況下,會(huì)自動(dòng)向Broker的_consumer_offsets主題提交當(dāng)前 主題-分區(qū)消費(fèi)的偏移量 2、自動(dòng)提交offset和手動(dòng)提交offset流程圖 3、在Java中實(shí)現(xiàn)配置 4、自動(dòng)提交offset問題 自動(dòng)提交會(huì)丟消息。因?yàn)槿绻M(fèi)

    2024年01月22日
    瀏覽(22)
  • Rabbitmq消息積壓問題如何解決以及如何進(jìn)行限流

    Rabbitmq消息積壓問題如何解決以及如何進(jìn)行限流

    一、增加處理能力 優(yōu)化系統(tǒng)架構(gòu)、增加服務(wù)器資源、采用負(fù)載均衡等手段,以提高系統(tǒng)的處理能力和并發(fā)處理能力。通過增加服務(wù)器數(shù)量或者優(yōu)化代碼,確保系統(tǒng)能夠及時(shí)處理所有的消息。 二、異步處理 將消息的處理過程設(shè)計(jì)為異步執(zhí)行,即接收到消息立即返回響應(yīng),然后

    2024年02月11日
    瀏覽(21)
  • kafka 分布式的情況下,如何保證消息的順序消費(fèi)?

    kafka 分布式的情況下,如何保證消息的順序消費(fèi)?

    目錄 一、什么是分布式 二、kafka介紹 三、消息的順序消費(fèi) 四、如何保證消息的順序消費(fèi) ? 分布式是指將計(jì)算任務(wù)分散到多個(gè)計(jì)算節(jié)點(diǎn)上進(jìn)行并行處理的一種計(jì)算模型。在分布式系統(tǒng)中,多臺(tái)計(jì)算機(jī)通過網(wǎng)絡(luò)互聯(lián),共同協(xié)作完成任務(wù)。每個(gè)計(jì)算節(jié)點(diǎn)都可以獨(dú)立運(yùn)行,并且可以

    2024年02月10日
    瀏覽(22)
  • mq常見問題:消息丟失、消息重復(fù)消費(fèi)、消息保證順序

    mq常見問題:消息丟失、消息重復(fù)消費(fèi)、消息保證順序 消息丟失問題 拿rabbitmq舉例來說,出現(xiàn)消息丟失的場(chǎng)景如下圖 從圖中可以看到一共有以下三種可能出現(xiàn)消息丟失的情況: 1 生產(chǎn)者丟消息 生產(chǎn)者在將數(shù)據(jù)發(fā)送到MQ的時(shí)候,可能由于網(wǎng)絡(luò)等原因造成消息投遞失敗 2MQ自身丟

    2024年02月09日
    瀏覽(22)
  • kafka:消息發(fā)送以及消費(fèi)的過程

    kafka:消息發(fā)送以及消費(fèi)的過程

    摘要 kafka的存儲(chǔ)消息,生產(chǎn)者發(fā)送消息,消費(fèi)者消費(fèi)消息。這些看起來簡單,但實(shí)際細(xì)想,會(huì)有很多問題需要解決:消息是單個(gè)單個(gè)發(fā)送還是批量發(fā)送?broker的主題里一有消息就立即推送給消費(fèi)者嗎?生產(chǎn)者的消息怎么保證成功發(fā)送到kafka,kafka怎么保證消息傳給了消費(fèi)者?

    2023年04月21日
    瀏覽(27)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包