1.kafka高吞吐量
答案:
1)消息順序?qū)懙酱疟P
2)分區(qū)
3)零拷貝:跳過(guò)“用戶緩沖區(qū)”的拷貝,消費(fèi)者直接通過(guò)offset位置,批量拉取消息
4)生產(chǎn)者,通過(guò)緩存批量發(fā)送消息
2.kafka優(yōu)缺點(diǎn)
答案:
1)只能支持統(tǒng)一分區(qū)內(nèi)消息有序,無(wú)法實(shí)現(xiàn)全局消息有序
2)會(huì)丟失數(shù)據(jù)和重復(fù)消費(fèi)數(shù)據(jù)
3.kafka分區(qū)數(shù)過(guò)多引發(fā)的弊端
答案:
1)分區(qū)數(shù)過(guò)多,客戶端內(nèi)存會(huì)有小幅度增加;當(dāng)分區(qū)數(shù)遠(yuǎn)大于消費(fèi)端,線程頻繁切換,影響性能;
2)文件句柄開(kāi)銷
3)broker主機(jī)down恢復(fù)問(wèn)題,如果分區(qū)數(shù)過(guò)多,單一broker就會(huì)承載很多分區(qū),在down過(guò)程涉及到的leader重選舉和恢復(fù)過(guò)程中的在均衡時(shí)間消耗就比較長(zhǎng)。
4.flink的開(kāi)發(fā)中用了哪些算子?
答案:
max/min 操作 會(huì)根據(jù)用戶指定的字段取最小值(而字段外的其他值 并不能保證正確) 而maxBy/minBy 指的是自己本身的這條數(shù)據(jù)。
在reduce和aggregate中,都有一個(gè)可以把增量函數(shù)和全量函數(shù)結(jié)合使用的方法,就是上面圖中標(biāo)紅色五角星的。
對(duì)于一個(gè)窗口來(lái)說(shuō),F(xiàn)link先增量計(jì)算,窗口關(guān)閉前,將增量計(jì)算結(jié)果發(fā)送給ProcessWindowFunction作為輸入再進(jìn)行處理。
reduce和aggregate區(qū)別:aggregate是增強(qiáng)版的reduce,都是增量函數(shù),都有中間結(jié)果產(chǎn)生,但是aggregate處理方法更全。
更多關(guān)于大數(shù)據(jù)培訓(xùn)的問(wèn)題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓(xùn)服務(wù)經(jīng)驗(yàn),采用全程面授高品質(zhì)、高體驗(yàn)培養(yǎng)模式,擁有國(guó)內(nèi)一體化教學(xué)管理及學(xué)員服務(wù),助力更多學(xué)員實(shí)現(xiàn)高薪夢(mèng)想。