Kafka經(jīng)典面試題,你都會(huì)嗎?


01.為什么要使用消息中心?
消息通訊:可以作為基本的消息通訊,比如聊天室等工具的使用 異步處理 : 將一些實(shí)時(shí)性要求不是很強(qiáng)的業(yè)務(wù)異步處理,起到緩沖的作用,一定程度上也會(huì)避免因?yàn)橛行┫M(fèi)者處理的太慢或者網(wǎng)絡(luò)問(wèn)題導(dǎo)致的通訊等待太久,因而導(dǎo)致的單個(gè)服務(wù)崩潰,甚至產(chǎn)生多個(gè)服務(wù)間的雪崩效應(yīng); 應(yīng)用解耦 : ? 消息隊(duì)列將消息生產(chǎn)者和消費(fèi)者分離開(kāi)來(lái),可以實(shí)現(xiàn)應(yīng)用解耦 流量削峰:? ?可以通過(guò)在應(yīng)用前端采用消息隊(duì)列來(lái)接收請(qǐng)求,可以達(dá)到削峰的目的:請(qǐng)求超過(guò)隊(duì)列長(zhǎng)度直接不處理,重定向至錯(cuò)誤頁(yè)面。類(lèi)似于網(wǎng)關(guān)限流的作用 冗余存儲(chǔ):消息隊(duì)列把數(shù)據(jù)進(jìn)行持久化,直到它們已經(jīng)被完全處理,通過(guò)這一方式規(guī)避了數(shù)據(jù)丟失風(fēng)險(xiǎn)
02.聊聊Kafka的特點(diǎn)
可靠性:Kafka是分布式的、可分區(qū)的、數(shù)據(jù)可備份的、高度容錯(cuò)的 可擴(kuò)展性:在無(wú)需停機(jī)的情況下實(shí)現(xiàn)輕松擴(kuò)展 消息持久性:Kafka支持將消息持久化到本地磁盤(pán) 高性能:Kafka的消息發(fā)布訂閱具有很高的吞吐量,即便存儲(chǔ)了TB級(jí)的消息,它依然能保持穩(wěn)定的性能
03.你會(huì)在哪些場(chǎng)景選擇使用Kafka?
我個(gè)人接觸的項(xiàng)目中,Kafka使用最多的場(chǎng)景,就是用它與FileBeats和ELK組成典型的日志收集、分析處理以及展示的框架

FileBeats先將數(shù)據(jù)傳遞給消息隊(duì)列,Logstash server(二級(jí)Logstash)拉取消息隊(duì)列中的數(shù)據(jù),進(jìn)行過(guò)濾和分析,然后將數(shù)據(jù)傳遞給Elasticsearch進(jìn)行存儲(chǔ),最后,再由Kibana將日志和數(shù)據(jù)呈現(xiàn)給用戶(hù)
由于引入了Kafka緩沖機(jī)制,即使遠(yuǎn)端Logstash server因故障停止運(yùn)行,數(shù)據(jù)也不會(huì)丟失,可靠性得到了大大的提升
04.Kafka使用哪種方式消費(fèi)消息,pull還是push?
05.Kafka與Zookeeper是什么關(guān)系?
06.聊聊Kafka的架構(gòu)


因此,想要保證消息的順序性,只在新建topic時(shí),指定一個(gè)分區(qū)即可
07.Kafka的緩沖池滿(mǎn)了怎么辦?
08.數(shù)據(jù)傳輸?shù)氖聞?wù)有幾種?
最多一次(<=1):?消息不會(huì)被重復(fù)發(fā)送,最多被傳輸一次,但也有可能一次不傳輸 最少一次(>=1):消息不會(huì)被漏發(fā)送,最少被傳輸一次,但也有可能被重復(fù)傳輸 精確的一次(Exactly once)(=1):?不會(huì)漏傳輸也不會(huì)重復(fù)傳輸,每個(gè)消息都傳輸被一次而且僅僅被傳輸一次,這是大家所期望的 那么,每種傳輸,分別是怎樣實(shí)現(xiàn)的呢?
最多一次:consumer先讀消息,記錄offset,最后再處理消息


09.Kafka在什么情況下會(huì)出現(xiàn)消息丟失?
10.Kafka的性能好在什么地方?
buffer = File.read
Socket.send(buffer)
先讀取、再發(fā)送,實(shí)際會(huì)經(jīng)過(guò)以下四次復(fù)制
2、將內(nèi)核緩沖區(qū)的數(shù)據(jù),復(fù)制到應(yīng)用程序緩沖區(qū)Application Buffer
3、將應(yīng)用程序緩沖區(qū)Application Buffer中的數(shù)據(jù),復(fù)制到socket網(wǎng)絡(luò)發(fā)送緩沖區(qū)
4、將Socket buffer的數(shù)據(jù),復(fù)制到網(wǎng)卡,由網(wǎng)卡進(jìn)行網(wǎng)絡(luò)傳輸


三 總結(jié)
總而言之

評(píng)論
圖片
表情
