真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Kafka集群消息積壓問題及怎么樣處理

今天就跟大家聊聊有關(guān)Kafka集群消息積壓問題及怎么樣處理,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)淮濱,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108

通常情況下,企業(yè)中會(huì)采取輪詢或者隨機(jī)的方式,通過Kafka的producer向Kafka集群生產(chǎn)數(shù)據(jù),來盡可能保證Kafk分區(qū)之間的數(shù)據(jù)是均勻分布的。

在分區(qū)數(shù)據(jù)均勻分布的前提下,如果我們針對(duì)要處理的topic數(shù)據(jù)量等因素,設(shè)計(jì)出合理的Kafka分區(qū)數(shù)量。對(duì)于一些實(shí)時(shí)任務(wù),比如Spark Streaming/Structured-Streaming、Flink和Kafka集成的應(yīng)用,消費(fèi)端不存在長時(shí)間"掛掉"的情況即數(shù)據(jù)一直在持續(xù)被消費(fèi),那么一般不會(huì)產(chǎn)生Kafka數(shù)據(jù)積壓的情況。

但是這些都是有前提的,當(dāng)一些意外或者不合理的分區(qū)數(shù)設(shè)置情況的發(fā)生,積壓問題就不可避免。

Kafka消息積壓的典型場景:

1.實(shí)時(shí)/消費(fèi)任務(wù)掛掉  

比如,我們寫的實(shí)時(shí)應(yīng)用因?yàn)槟撤N原因掛掉了,并且這個(gè)任務(wù)沒有被監(jiān)控程序監(jiān)控發(fā)現(xiàn)通知相關(guān)負(fù)責(zé)人,負(fù)責(zé)人又沒有寫自動(dòng)拉起任務(wù)的腳本進(jìn)行重啟。

那么在我們重新啟動(dòng)這個(gè)實(shí)時(shí)應(yīng)用進(jìn)行消費(fèi)之前,這段時(shí)間的消息就會(huì)被滯后處理,如果數(shù)據(jù)量很大,可就不是簡單重啟應(yīng)用直接消費(fèi)就能解決的。
2.Kafka分區(qū)數(shù)設(shè)置的不合理(太少)和消費(fèi)者"消費(fèi)能力"不足  

Kafka單分區(qū)生產(chǎn)消息的速度qps通常很高,如果消費(fèi)者因?yàn)槟承┰颍ū热缡軜I(yè)務(wù)邏輯復(fù)雜度影響,消費(fèi)時(shí)間會(huì)有所不同),就會(huì)出現(xiàn)消費(fèi)滯后的情況。

此外,Kafka分區(qū)數(shù)是Kafka并行度調(diào)優(yōu)的最小單元,如果Kafka分區(qū)數(shù)設(shè)置的太少,會(huì)影響Kafka consumer消費(fèi)的吞吐量。
3.Kafka消息的key不均勻,導(dǎo)致分區(qū)間數(shù)據(jù)不均衡  
在使用Kafka producer消息時(shí),可以為消息指定key,但是要求key要均勻,否則會(huì)出現(xiàn)Kafka分區(qū)間數(shù)據(jù)不均衡。

那么,針對(duì)上述的情況,有什么好的辦法處理數(shù)據(jù)積壓呢?

一般情況下,針對(duì)性的解決辦法有以下幾種:

1.實(shí)時(shí)/消費(fèi)任務(wù)掛掉導(dǎo)致的消費(fèi)滯后  

a.任務(wù)重新啟動(dòng)后直接消費(fèi)最新的消息,對(duì)于"滯后"的歷史數(shù)據(jù)采用離線程序進(jìn)行"補(bǔ)漏"。

此外,建議將任務(wù)納入監(jiān)控體系,當(dāng)任務(wù)出現(xiàn)問題時(shí),及時(shí)通知相關(guān)負(fù)責(zé)人處理。當(dāng)然任務(wù)重啟腳本也是要有的,還要求實(shí)時(shí)框架異常處理能力要強(qiáng),避免數(shù)據(jù)不規(guī)范導(dǎo)致的不能重新拉起任務(wù)。

b.任務(wù)啟動(dòng)從上次提交offset處開始消費(fèi)處理

如果積壓的數(shù)據(jù)量很大,需要增加任務(wù)的處理能力,比如增加資源,讓任務(wù)能盡可能的快速消費(fèi)處理,并趕上消費(fèi)最新的消息
2.Kafka分區(qū)少了
如果數(shù)據(jù)量很大,合理的增加Kafka分區(qū)數(shù)是關(guān)鍵。如果利用的是Spark流和Kafka direct approach方式,也可以對(duì)KafkaRDD進(jìn)行repartition重分區(qū),增加并行度處理。
3.由于Kafka消息key設(shè)置的不合理,導(dǎo)致分區(qū)數(shù)據(jù)不均衡  
可以在Kafka producer處,給key加隨機(jī)后綴,使其均衡。

看完上述內(nèi)容,你們對(duì)Kafka集群消息積壓問題及怎么樣處理有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


網(wǎng)站題目:Kafka集群消息積壓問題及怎么樣處理
轉(zhuǎn)載來源:http://weahome.cn/article/jppdjd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部