您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“常見的Kafka面試題有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“常見的Kafka面試題有哪些”這篇文章吧。
1、請說明什么是Apache Kafka?
Apache Kafka是由Apache開發的一種發布訂閱消息系統,它是一個分布式的、分區的和重復的日志服務。
2、請說明什么是傳統的消息傳遞方法?
傳統的消息傳遞方法包括兩種:
排隊:在隊列中,一組用戶可以從服務器中讀取消息,每條消息都發送給其中一個人。
發布-訂閱:在這個模型中,消息被廣播給所有的用戶。
3、請說明Kafka相對傳統技術有什么優勢?
Apache Kafka與傳統的消息傳遞技術相比優勢之處在于:
快速:單一的Kafka代理可以處理成千上萬的客戶端,每秒處理數兆字節的讀寫操作。
可伸縮:在一組機器上對數據進行分區和簡化,以支持更大的數據
持久:消息是持久性的,并在集群中進行復制,以防止數據丟失。
設計:它提供了容錯保證和持久性
4、在Kafka中broker的意義是什么?
在Kafka集群中,broker術語用于引用服務器。
5、Kafka服務器能接收到的最大信息是多少?
Kafka服務器可以接收到的消息的最大大小由參數message.max.bytes決定,010版本默認值是1000012,可以配置為broker級別或者topic級別。
6、解釋Kafka的Zookeeper是什么?我們可以在沒有Zookeeper的情況下使用Kafka嗎?
Zookeeper是一個開放源碼的、高性能的協調服務,它用于Kafka的分布式應用。
不,不可能越過Zookeeper,直接聯系Kafka broker。一旦Zookeeper停止工作,它就不能服務客戶端請求。
Zookeeper主要用于在集群中不同節點之間進行通信
在Kafka中,它被用于提交偏移量,因此如果節點在任何情況下都失敗了,它都可以從之前提交的偏移量中獲取
除此之外,它還執行其他活動,如: leader檢測、分布式同步、配置管理、識別新節點何時離開或連接、集群、節點實時狀態等等。
Kafka源碼系列之源碼分析zookeeper在kafka的作用
7、解釋Kafka的用戶如何消費信息?
在Kafka中傳遞消息是通過使用sendfile API完成的。它支持將字節從套接口轉移到磁盤,通過內核空間保存副本,并在內核用戶之間調用內核。
消費者消費有各種客戶端:
010: http://kafka.apache.org/0102/javadoc/index.html?org/apache/kafka/clients/consumer/KafkaConsumer.html
082 分高階API和低階API:
https://cwiki.apache.org/confluence/display/KAFKA/Consumer+Group+Example
https://cwiki.apache.org/confluence/display/KAFKA/0.8.0+SimpleConsumer+Example
8、解釋如何提高遠程用戶的吞吐量?
如果用戶位于與broker不同的數據中心,則可能需要調優套接口緩沖區大小,以對長網絡延遲進行攤銷。
9、解釋一下,在數據制作過程中,你如何能從Kafka得到準確的信息?
在數據中,為了精確地獲得Kafka的消息,你必須遵循兩件事: 在數據消耗期間避免重復,在數據生產過程中避免重復。
這里有兩種方法,可以在數據生成時準確地獲得一個語義:
每個分區使用一個單獨的寫入器,每當你發現一個網絡錯誤,檢查該分區中的最后一條消息,以查看您的最后一次寫入是否成功
在消息中包含一個主鍵(UUID或其他),并在用戶中進行反復制
10、解釋如何減少ISR中的擾動?broker什么時候離開ISR?
ISR是一組與leaders完全同步的消息副本,也就是說ISR中包含了所有提交的消息。ISR應該總是包含所有的副本,直到出現真正的故障。如果一個副本從leader中脫離出來,將會從ISR中刪除。
11、Kafka為什么需要復制?
Kafka的信息復制確保了任何已發布的消息不會丟失,并且可以在機器錯誤、程序錯誤或更常見些的軟件升級中使用。
12、如果副本在ISR中停留了很長時間表明什么?
如果一個副本在ISR中保留了很長一段時間,那么它就表明,跟蹤器無法像在leader收集數據那樣快速地獲取數據。
13、請說明如果首選的副本不在ISR中會發生什么?
如果首選的副本不在ISR中,控制器將無法將leadership轉移到首選的副本。
14、有可能在生產后發生消息偏移嗎?
在大多數隊列系統中,作為生產者的類無法做到這一點,它的作用是觸發并忘記消息。broker將完成剩下的工作,比如使用id進行適當的元數據處理、偏移量等。
作為消息的用戶,你可以從Kafka broker中獲得補償。如果你注視SimpleConsumer類,你會注意到它會獲取包括偏移量作為列表的MultiFetchResponse對象。此外,當你對Kafka消息進行迭代時,你會擁有包括偏移量和消息發送的MessageAndOffset對象。
15、kafka提高吞吐量的配置
最基礎的配置是
batch.size 默認是單批次最大16384字節,超過該值就立即發送。
linger.ms 默認是0ms,超過該時間就立即發送。
上面兩個條件滿足其一,就立即發送消息否則等待。
以上是“常見的Kafka面試題有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。