您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)Kafka中有哪些常見面試題,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
1、請說明什么是Apache Kafka?
Apache Kafka是由Apache開發(fā)的一種發(fā)布訂閱消息系統(tǒng),它是一個分布式的、分區(qū)的和重復(fù)的日志服務(wù)。
2、請說明什么是傳統(tǒng)的消息傳遞方法?
傳統(tǒng)的消息傳遞方法包括兩種:
·排隊:在隊列中,一組用戶可以從服務(wù)器中讀取消息,每條消息都發(fā)送給其中一個人。
·發(fā)布-訂閱:在這個模型中,消息被廣播給所有的用戶。
3、請說明Kafka相對傳統(tǒng)技術(shù)有什么優(yōu)勢?
Apache Kafka與傳統(tǒng)的消息傳遞技術(shù)相比優(yōu)勢之處在于:
快速:單一的Kafka代理可以處理成千上萬的客戶端,每秒處理數(shù)兆字節(jié)的讀寫操作。
可伸縮:在一組機(jī)器上對數(shù)據(jù)進(jìn)行分區(qū)和簡化,以支持更大的數(shù)據(jù)
持久:消息是持久性的,并在集群中進(jìn)行復(fù)制,以防止數(shù)據(jù)丟失。
設(shè)計:它提供了容錯保證和持久性
4、在Kafka中broker的意義是什么?
在Kafka集群中,broker術(shù)語用于引用服務(wù)器。
5、Kafka服務(wù)器能接收到的最大信息是多少?
Kafka服務(wù)器可以接收到的消息的最大大小是1000000字節(jié)。
6、解釋Kafka的Zookeeper是什么?我們可以在沒有Zookeeper的情況下使用Kafka嗎?
Zookeeper是一個開放源碼的、高性能的協(xié)調(diào)服務(wù),它用于Kafka的分布式應(yīng)用。
不,不可能越過Zookeeper,直接聯(lián)系Kafka broker。一旦Zookeeper停止工作,它就不能服務(wù)客戶端請求。
·Zookeeper主要用于在集群中不同節(jié)點(diǎn)之間進(jìn)行通信
·在Kafka中,它被用于提交偏移量,因此如果節(jié)點(diǎn)在任何情況下都失敗了,它都可以從之前提交的偏移量中獲取
·除此之外,它還執(zhí)行其他活動,如: leader檢測、分布式同步、配置管理、識別新節(jié)點(diǎn)何時離開或連接、集群、節(jié)點(diǎn)實時狀態(tài)等等。
7、解釋Kafka的用戶如何消費(fèi)信息?
在Kafka中傳遞消息是通過使用sendfile API完成的。它支持將字節(jié)從套接口轉(zhuǎn)移到磁盤,通過內(nèi)核空間保存副本,并在內(nèi)核用戶之間調(diào)用內(nèi)核。
8、解釋如何提高遠(yuǎn)程用戶的吞吐量?
如果用戶位于與broker不同的數(shù)據(jù)中心,則可能需要調(diào)優(yōu)套接口緩沖區(qū)大小,以對長網(wǎng)絡(luò)延遲進(jìn)行攤銷。
9、解釋一下,在數(shù)據(jù)制作過程中,你如何能從Kafka得到準(zhǔn)確的信息?
在數(shù)據(jù)中,為了精確地獲得Kafka的消息,你必須遵循兩件事: 在數(shù)據(jù)消耗期間避免重復(fù),在數(shù)據(jù)生產(chǎn)過程中避免重復(fù)。
這里有兩種方法,可以在數(shù)據(jù)生成時準(zhǔn)確地獲得一個語義:
·每個分區(qū)使用一個單獨(dú)的寫入器,每當(dāng)你發(fā)現(xiàn)一個網(wǎng)絡(luò)錯誤,檢查該分區(qū)中的最后一條消息,以查看您的最后一次寫入是否成功
·在消息中包含一個主鍵(UUID或其他),并在用戶中進(jìn)行反復(fù)制
10、解釋如何減少ISR中的擾動?broker什么時候離開ISR?
ISR是一組與leaders完全同步的消息副本,也就是說ISR中包含了所有提交的消息。ISR應(yīng)該總是包含所有的副本,直到出現(xiàn)真正的故障。如果一個副本從leader中脫離出來,將會從ISR中刪除。
11、Kafka為什么需要復(fù)制?
Kafka的信息復(fù)制確保了任何已發(fā)布的消息不會丟失,并且可以在機(jī)器錯誤、程序錯誤或更常見些的軟件升級中使用。
12、如果副本在ISR中停留了很長時間表明什么?
如果一個副本在ISR中保留了很長一段時間,那么它就表明,跟蹤器無法像在leader收集數(shù)據(jù)那樣快速地獲取數(shù)據(jù)。
13、請說明如果首選的副本不在ISR中會發(fā)生什么?
如果首選的副本不在ISR中,控制器將無法將leadership轉(zhuǎn)移到首選的副本。
14、有可能在生產(chǎn)后發(fā)生消息偏移嗎?
在大多數(shù)隊列系統(tǒng)中,作為生產(chǎn)者的類無法做到這一點(diǎn),它的作用是觸發(fā)并忘記消息。broker將完成剩下的工作,比如使用id進(jìn)行適當(dāng)?shù)脑獢?shù)據(jù)處理、偏移量等。
作為消息的用戶,你可以從Kafka broker中獲得補(bǔ)償。如果你注視SimpleConsumer類,你會注意到它會獲取包括偏移量作為列表的MultiFetchResponse對象。此外,當(dāng)你對Kafka消息進(jìn)行迭代時,你會擁有包括偏移量和消息發(fā)送的MessageAndOffset對象。
關(guān)于“Kafka中有哪些常見面試題”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。