眾所周知,kafka為了保證消息消費順序topic的每個分區(qū)只能被消費者組中一個實例消費。
在廣靈等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需網(wǎng)站制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都營銷網(wǎng)站建設(shè),外貿(mào)營銷網(wǎng)站建設(shè),廣靈網(wǎng)站建設(shè)費用合理。
如果你的topic分區(qū)數(shù)為36,則可以嘗試調(diào)整消費者實例數(shù)為36,當(dāng)然這個是消費者ConsumerFactory.concurrency = 1的情況。如果你調(diào)整了線程數(shù)為n,則你的消費者實例數(shù)最優(yōu)為Math.ceil(36/n)。
可以把ConcurrentKafkaListenerContainerFactory.setBatchListener(true)開啟批量消費,并配置批量消費數(shù)ConsumerFactory.MAX_POLL_RECORDS_CONFIG = 100,默認為500
消費者使用線程池進行批量消費數(shù)據(jù)。建議不要使用execute,否則容易失控,建議使用submit然后得到future.get,get的時候會等待線程執(zhí)行完,這種方式會把本次批量消費完再往下消費。
此時線程池的核心線程數(shù)就需要根據(jù)業(yè)務(wù)是IO密集型還是CPU密集型來決定,如果是IO密集型線程數(shù)可以多設(shè)置些,如果是CPU密集型線程數(shù)可以根據(jù)核心數(shù)來決定。
分享標題:Kafka消費者調(diào)優(yōu)
網(wǎng)址分享:http://jinyejixie.com/article48/dsdihep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、自適應(yīng)網(wǎng)站、企業(yè)建站、靜態(tài)網(wǎng)站、定制網(wǎng)站、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)