簡體   English   中英

單個生產者、主題和代理的 Kafka 分區

[英]Kafka Partitioning for a Single Producer, Topic and Broker

我對 Kafka 很陌生,並且有一個關於 Producer、Topic、Broker 和 Partition 之間的關系/映射的問題,在我有一個 Producer、單個 Topic 和一個 Broker 的情況下,創建多個是否有意義?這里的單個 Broker 上的 Topic 分區? 如果是,這對並行性/性能有何幫助?

謝謝。

即使您只有一個生產者、一個 Topic 和一個 Broker,在消費者上下文中,就並行性/性能而言,為該主題創建多個分區也是有意義的。 如果您在單個消費者組中有多個消費者並且主題中有多個分區,那么可以保證消費者將從不同的分區接收數據,這將在從 kafka 處理時為您提供並行性和性能提升。

首先要理解的是,主題分區是 Kafka 集群中的一個並行單元。 在 Producer 和 Broker 上,寫入是並行發生的,因此您可以執行昂貴的操作(壓縮等),並且在消費者端,每個分區數據都被提供給單個消費者線程。

在您的場景中,如果您在一個主題上有多個分區,並且這些多個分區由單個消費者組中的多個消費者使用,您將受益。 這樣您就可以在您的應用程序中實現最大吞吐量。 如果您僅對多個分區使用單個使用者線程,則沒有用。 如果您巧妙地管理集群資源,基本上更多的分區可能會導致更高的吞吐量。

除了前面的答案之外,重要的是要記住從多個分區進行消費不會保留消息/事件的順序。 如果您的應用程序依賴於正確的消息順序,您可能必須考慮這一事實。

暫無
暫無

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

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