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

kafka千萬(wàn)級(jí)數(shù)據(jù)積壓原因以及解決方案

這篇具有很好參考價(jià)值的文章主要介紹了kafka千萬(wàn)級(jí)數(shù)據(jù)積壓原因以及解決方案。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、原因

kafka作為消息隊(duì)列,其中數(shù)據(jù)積壓也是經(jīng)常遇到的問(wèn)題之一。

我們都知道,數(shù)據(jù)積壓的直接原因,一定是系統(tǒng)中的某個(gè)部分出現(xiàn)了性能問(wèn)題,來(lái)不及處理上游發(fā)送的數(shù)據(jù),才會(huì)導(dǎo)致數(shù)據(jù)積壓。

那么我們就需要分析在使用kafka時(shí),如何通過(guò)優(yōu)化代碼以及參數(shù)配置來(lái)最大程度的避免數(shù)據(jù)積壓來(lái)對(duì)業(yè)務(wù)中的影響。

二、解決方案

1.1、通過(guò)優(yōu)化代碼

數(shù)據(jù)積壓可能是我們?cè)诰帉懘a處理邏輯的時(shí)候,代碼質(zhì)量不高,處理速度慢導(dǎo)致消費(fèi)數(shù)據(jù)的性能低,可以優(yōu)化代碼。

1.2、優(yōu)化kafka配置參數(shù)

1.2.1、優(yōu)化生產(chǎn)者producer的參數(shù)

首先我們?cè)谏厦娣治龅贸?,是由于上游生產(chǎn)者producer發(fā)送數(shù)據(jù)過(guò)快,以及下游消費(fèi)者consumer拉取數(shù)據(jù)過(guò)慢,實(shí)質(zhì)上就是,生產(chǎn)者生產(chǎn)數(shù)據(jù)速度>>消費(fèi)者消費(fèi)數(shù)據(jù)速度。那么就可以把問(wèn)題定位到生產(chǎn)者producer以及消費(fèi)者consumer這兩方面上。

可以通過(guò)修改以下參數(shù)配置提提升生產(chǎn)者的吞吐量:

1)batch.memory修改緩沖區(qū)大小

設(shè)置發(fā)送消息的緩沖區(qū),默認(rèn)值是33554432,就是32MB

如果發(fā)送消息出去的速度小于寫入消息進(jìn)去的速度,就會(huì)導(dǎo)致緩沖區(qū)寫滿,此時(shí)生產(chǎn)消息就會(huì)阻塞住,所以說(shuō)這里就應(yīng)該多做一些壓測(cè),盡可能保證說(shuō)這塊緩沖區(qū)不會(huì)被寫滿導(dǎo)致生產(chǎn)行為被阻塞住。

2)compression.type壓縮格式

默認(rèn)是none,不壓縮,但是也可以使用lz4壓縮,效率還是不錯(cuò)的,壓縮之后可以減小數(shù)據(jù)量,提升吞吐量,但是會(huì)加大producer端的cpu開(kāi)銷。

3)batch.size批次大小

設(shè)置merge batch合并批次消息的大小

如果 batch 批次太小,會(huì)導(dǎo)致頻繁網(wǎng)絡(luò)請(qǐng)求,吞吐量下降;

如果batch批次太大,會(huì)導(dǎo)致一條消息需要等待很久才能被發(fā)送出去,而且會(huì)讓內(nèi)存緩沖區(qū)有很大壓力,過(guò)多數(shù)據(jù)緩沖在內(nèi)存里。

默認(rèn)值是:16384,就是16kb,也就是一個(gè)batch批次滿了16kb就發(fā)送出去,一般在實(shí)際生產(chǎn)環(huán)境,這個(gè)batch批次的值可以增大一些來(lái)提升吞吐量,可以自己壓測(cè)一下。

4)linger.ms等待時(shí)長(zhǎng)

這個(gè)值默認(rèn)是0,意思就是消息必須立即被發(fā)送,但是這是不對(duì)的。

一般設(shè)置一個(gè)100毫秒之類的,這樣的話就是說(shuō),這個(gè)消息被發(fā)送出去后進(jìn)入一個(gè)batch批次,如果100毫秒內(nèi),這個(gè)batch批次滿了16kb,自然就會(huì)發(fā)送出去。

但是如果100毫秒內(nèi),batch沒(méi)滿,那么也必須把消息發(fā)送出去了,不能讓消息的發(fā)送延遲時(shí)間太長(zhǎng),也避免給內(nèi)存造成過(guò)大的一個(gè)壓力。

1.2.2、優(yōu)化消費(fèi)者cousumer

擴(kuò)容,擴(kuò)分區(qū);增加consumer文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-652636.html

1)提升消費(fèi)者組中的消費(fèi)者數(shù)以及Topic中的分區(qū)數(shù),讓二者相等,假設(shè)設(shè)置為3個(gè)分區(qū) = 3CPU。
什么是分區(qū)?
分區(qū)就是一個(gè)topic的數(shù)據(jù)被分成多少份的單元,比如一個(gè)topic的數(shù)據(jù)被分成3份,那么就是3個(gè)分區(qū),一個(gè)分區(qū)對(duì)應(yīng)一份的數(shù)據(jù)。而每個(gè)分區(qū)中的寫入的數(shù)據(jù)是有順序的,分區(qū)之間數(shù)據(jù)是無(wú)序。

2)提高消費(fèi)者拉取數(shù)據(jù)的能力,比如Flume每次拉取的數(shù)據(jù)可以由1000條改為3000條、Spark中將限流的參數(shù)增大、Flink中保證數(shù)據(jù)的處理效率等。

到了這里,關(guān)于kafka千萬(wàn)級(jí)數(shù)據(jù)積壓原因以及解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(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)文章

  • 帶你了解RabbitMQ:消息丟失、重復(fù)、積壓的原因及其解決方案

    前言 首先說(shuō)一點(diǎn),企業(yè)中最常用的實(shí)際上既不是RocketMQ,也不是Kafka,而是RabbitMQ。 RocketMQ很強(qiáng)大,但主要是阿里推廣自己的云產(chǎn)品而開(kāi)源出來(lái)的一款消息隊(duì)列,其實(shí)中小企業(yè)用RocketMQ的沒(méi)有想象中那么多。 深層次的原因在于兔寶在中小企業(yè)普及更早,經(jīng)受的考驗(yàn)也更久,很容

    2024年02月04日
    瀏覽(21)
  • MySQL千萬(wàn)級(jí)數(shù)據(jù)查詢的優(yōu)化技巧及思路

    隨著數(shù)據(jù)量的不斷增長(zhǎng),MySQL千萬(wàn)級(jí)數(shù)據(jù)查詢的優(yōu)化問(wèn)題也日益引人注目。在這篇文章中,我們將深入探討MySQL千萬(wàn)級(jí)數(shù)據(jù)查詢優(yōu)化的方法和技巧,以幫助開(kāi)發(fā)者更好地優(yōu)化MySQL性能。 數(shù)據(jù)庫(kù)設(shè)計(jì)是優(yōu)化查詢性能的關(guān)鍵,以下是一些可用的技巧: 垂直拆分和水平拆分 垂直拆分

    2024年02月10日
    瀏覽(21)
  • 千萬(wàn)級(jí)數(shù)據(jù)深分頁(yè)查詢SQL性能優(yōu)化實(shí)踐

    如何在Mysql中實(shí)現(xiàn)上億數(shù)據(jù)的遍歷查詢?先來(lái)介紹一下系統(tǒng)主角:關(guān)注系統(tǒng),主要是維護(hù)京東用戶和業(yè)務(wù)對(duì)象之前的關(guān)注關(guān)系;并對(duì)外提供各種關(guān)系查詢,比如查詢用戶的關(guān)注商品或店鋪列表,查詢用戶是否關(guān)注了某個(gè)商品或店鋪等。但是最近接到了一個(gè)新需求,要求提供查

    2024年02月11日
    瀏覽(30)
  • Java中處理千萬(wàn)級(jí)數(shù)據(jù)的最佳實(shí)踐:性能優(yōu)化指南

    在今天的數(shù)字化時(shí)代,處理大規(guī)模數(shù)據(jù)已經(jīng)成為許多Java應(yīng)用程序的核心任務(wù)。無(wú)論您是構(gòu)建數(shù)據(jù)分析工具、實(shí)現(xiàn)實(shí)時(shí)監(jiān)控系統(tǒng),還是處理大規(guī)模日志文件,性能優(yōu)化都是確保應(yīng)用程序能夠高效運(yùn)行的關(guān)鍵因素。本指南將介紹一系列最佳實(shí)踐,幫助您在處理千萬(wàn)級(jí)數(shù)據(jù)時(shí)提高

    2024年02月03日
    瀏覽(37)
  • 千萬(wàn)級(jí)數(shù)據(jù)的表,我把慢sql優(yōu)化后性能提升30倍!

    千萬(wàn)級(jí)數(shù)據(jù)的表,我把慢sql優(yōu)化后性能提升30倍!

    背景:系統(tǒng)中有一個(gè)統(tǒng)計(jì)頁(yè)面加載特別慢,前端設(shè)置的40s超時(shí)時(shí)間都加載不出來(lái)數(shù)據(jù),因?yàn)槭莻€(gè)統(tǒng)計(jì)頁(yè)面,基本上一猜就知道是mysql的語(yǔ)句有問(wèn)題,遺留了很久沒(méi)有解決,正好趁不忙的時(shí)候,下定決心一定把它給搞定! (mysql5.7) 執(zhí)行一下問(wèn)題sql,可以看到單表查就需要61s 這

    2024年02月14日
    瀏覽(21)
  • 千萬(wàn)級(jí)并發(fā)架構(gòu)下,如何進(jìn)行關(guān)系型數(shù)據(jù)庫(kù)的分庫(kù)分表

    千萬(wàn)級(jí)并發(fā)架構(gòu)下,如何進(jìn)行關(guān)系型數(shù)據(jù)庫(kù)的分庫(kù)分表

    最近項(xiàng)目上線后由于用戶量的劇增,導(dǎo)致數(shù)據(jù)庫(kù)的數(shù)據(jù)量劇增,隨之而來(lái)的就是海量數(shù)據(jù)存儲(chǔ)的問(wèn)題,針對(duì)最近解決數(shù)據(jù)的優(yōu)化過(guò)程,談?wù)剆ql語(yǔ)句的優(yōu)化以及數(shù)據(jù)庫(kù)分庫(kù)分表的方案。 建議大家先閱讀一下數(shù)據(jù)庫(kù)的優(yōu)化方案 《數(shù)據(jù)庫(kù)大數(shù)據(jù)量的優(yōu)化方案》,里面從 1.優(yōu)化現(xiàn)有數(shù)

    2024年02月16日
    瀏覽(44)
  • 阿里二面:千萬(wàn)級(jí)、億級(jí)數(shù)據(jù),如何性能優(yōu)化? 教科書級(jí) 答案來(lái)了

    阿里二面:千萬(wàn)級(jí)、億級(jí)數(shù)據(jù),如何性能優(yōu)化? 教科書級(jí) 答案來(lái)了

    在尼恩指導(dǎo)了幾百個(gè)小伙伴的面試,在這些過(guò)程中, 非常、非常高頻的一個(gè)面試題: 千萬(wàn)級(jí)數(shù)據(jù),如何做性能優(yōu)化? 億級(jí)數(shù)據(jù),如何做性能優(yōu)化? 最近,有個(gè)小伙伴阿里二面,又遇到了這個(gè)問(wèn)題。 其實(shí),尼恩一直想梳理一個(gè)教科書式的答案, 但是由于千萬(wàn)級(jí)數(shù)據(jù)、億級(jí)數(shù)

    2024年02月02日
    瀏覽(22)
  • Kafka順序消費(fèi)以及消息積壓?jiǎn)栴}

    什么場(chǎng)景下需要順序消費(fèi)? 比如說(shuō):訂單有很多狀態(tài),比如:下單(未支付)、完成(已支付)、撤銷等,不可能下單的消息都沒(méi)讀取到,就先讀取支付或撤銷的消息吧,要保證消息順序消費(fèi) 如何保證順序消費(fèi)? kafka的topic是無(wú)序的,但是一個(gè)topic包含多個(gè)partition, 每個(gè)pa

    2024年04月29日
    瀏覽(29)
  • Kafka數(shù)據(jù)丟失原因及解決方案

    Kafka包括Producer、Broker、Consumer,因此從這三個(gè)方面分析。 丟失原因:Kafka在Producer端的消息發(fā)送采用的是異步發(fā)送的方式(還有同步發(fā)送,但是同步發(fā)送會(huì)導(dǎo)致消息阻塞、需要等待),丟失數(shù)據(jù)是因?yàn)橄](méi)有到達(dá)Broker端,原因可能是網(wǎng)絡(luò)波動(dòng)導(dǎo)致沒(méi)有回調(diào)和數(shù)據(jù)消息太大超出

    2024年02月14日
    瀏覽(15)
  • 權(quán)威答案!靈犀醫(yī)療引入 Zilliz Cloud,千萬(wàn)級(jí)向量數(shù)據(jù)庫(kù)賦能醫(yī)學(xué) AIGC 平臺(tái)

    權(quán)威答案!靈犀醫(yī)療引入 Zilliz Cloud,千萬(wàn)級(jí)向量數(shù)據(jù)庫(kù)賦能醫(yī)學(xué) AIGC 平臺(tái)

    “醫(yī)療行業(yè)是一個(gè)信息差較大的行業(yè),術(shù)語(yǔ)體系龐雜且知識(shí)門類較多,如何能搜索到最精準(zhǔn)的醫(yī)學(xué)知識(shí)并采用最合理方式進(jìn)行總結(jié),這是我們醫(yī)學(xué) AIGC 平臺(tái) EviMed 所遇見(jiàn)的最主要的技術(shù)問(wèn)題。 傳統(tǒng)的數(shù)據(jù)庫(kù)和全文檢索方式難以滿足我們的技術(shù)要求,結(jié)合了 Zilliz Cloud 向量數(shù)據(jù)

    2024年04月25日
    瀏覽(17)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包