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