14個最常見的Kafka面試題及答案

2021-08-07 09:33:04 字數 2256 閱讀 7761

1、請說明什麼是apache kafka?

apache kafka是由apache開發的一種發布訂閱訊息系統,它是乙個分布式的、分割槽的和重複的日誌服務。

2、請說明什麼是傳統的訊息傳遞方法?

傳統的訊息傳遞方法包括兩種:

·排隊:在佇列中,一組使用者可以從伺服器中讀取訊息,每條訊息都傳送給其中乙個人。

·發布-訂閱:在這個模型中,訊息被廣播給所有的使用者。

3、請說明kafka相對傳統技術有什麼優勢?

apache kafka與傳統的訊息傳遞技術相比優勢之處在於:

快速:單一的kafka**可以處理成千上萬的客戶端,每秒處理數兆位元組的讀寫操作。

可伸縮:在一組機器上對資料進行分割槽和簡化,以支援更大的資料

持久:訊息是永續性的,並在集群中進行複製,以防止資料丟失。

設計:它提供了容錯保證和永續性

4、在kafka中broker的意義是什麼?

在kafka集群中,broker術語用於引用伺服器。

5、kafka伺服器能接收到的最大資訊是多少?

kafka伺服器可以接收到的訊息的最大大小是1000000位元組。

6、解釋kafka的zookeeper是什麼?我們可以在沒有zookeeper的情況下使用kafka嗎?

zookeeper是乙個開放原始碼的、高效能的協調服務,它用於kafka的分布式應用。

不,不可能越過zookeeper,直接聯絡kafka broker。一旦zookeeper停止工作,它就不能服務客戶端請求。

·zookeeper主要用於在集群中不同節點之間進行通訊

·在kafka中,它被用於提交偏移量,因此如果節點在任何情況下都失敗了,它都可以從之前提交的偏移量中獲取

·除此之外,它還執行其他活動,如: leader檢測、分布式同步、配置管理、識別新節點何時離開或連線、集群、節點實時狀態等等。

7、解釋kafka的使用者如何消費資訊?

在kafka中傳遞訊息是通過使用sendfile api完成的。它支援將位元組從套介面轉移到磁碟,通過核心空間儲存副本,並在核心使用者之間呼叫核心。

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中獲得補償。如果你注視******consumer類,你會注意到它會獲取包括偏移量作為列表的multifetchresponse物件。此外,當你對kafka訊息進行迭代時,你會擁有包括偏移量和訊息傳送的messageandoffset物件。

14個最常見的Kafka面試題及答案

1 請說明什麼是apache kafka?apache kafka是由apache開發的一種發布訂閱訊息系統,它是乙個分布式的 分割槽的和重複的日誌服務。2 請說明什麼是傳統的訊息傳遞方法?傳統的訊息傳遞方法包括兩種 排隊 在佇列中,一組使用者可以從伺服器中讀取訊息,每條訊息都傳送給其中乙個人。發布...

kafka常見面試題

ar 所有的分割槽副本 isr 所有與leader保持同步的副本集合 osr 被leader剔除isr的集合 當副本在一定時間未與leader進行同步就會被提出isr。leo 每個副本中最大的 offset hw 消費者能見到的最大的 offset,isr中最小的leo kafka的分割槽每次寫入訊...

kafka常見面試題

1 為什麼要使用 kafka,為什麼要使用訊息佇列 緩衝和削峰 解耦和擴充套件性 冗餘 健壯性 非同步通訊 2 kafka的acks引數對訊息持久化的影響 往kafka寫資料的時候,就可以來設定這個acks引數。然後這個引數實際上有三種常見的值可以設定,分別是 0 1 和 all 等價於 1 api...