簡體   English   中英

Kafka如何在相同主題的同一分區上實現多次消費的並行性?

[英]How does Kafka achieve its parallelism with multiple consumption on the same topic same partition?

我已經從堆棧溢出的多個來源中讀取了數據,這表明使用多個使用者組將使我能夠從多個使用者同時讀取相同主題的同一分區。

例如,

默認情況下,多個Kafka使用者可以從同一主題的同一分區讀取嗎?

卡夫卡如何向許多消費者群體廣播

卡夫卡的平行生產和消費

因此,這是我先前問題的跟進問題,但背景略有不同。 鑒於這一事實,我們只能讀取寫入分區領導者,卡夫卡日志存儲在硬盤中。 每個分區代表一個日志。

現在,如果我有100個消費者組從相同的主題相同的分區讀取數據,那基本上是從同一台計算機讀取數據,因為我們只允許從分區領導讀取數據,而不能從分區副本讀取數據,那么Kafka怎么擴展這種讀取負載?

它如何實現並行性? 難道只是在同一台機器上產生許多線程和進程來同時處理所有消耗嗎? 這種方法如何水平擴展?

謝謝

如果您有100個使用者都從同一個分區讀取數據,那么該分區的數據將被緩存在Linux OS頁面高速緩存(內存)中,因此99個甚至100個使用者中的所有使用者將從RAM中而不是從RAM中讀取數據。旋轉硬盤。 這是Kafka的一項獨特功能,盡管它是用JVM語言編寫的,但在並行使用相同數據的情況下,它還是旨在利用堆外內存來提高性能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM