簡體   English   中英

Kafka:從消費者方面動態確定主題中分區數量的最佳方法是什么?

[英]Kafka: what's the best way to dynamically determine the number of partitions in a topic from the consumer side?

我們有Java代碼來管理讀取四個分區主題的Kafka流消費者的線程池(因此我們有四個消費者線程)。

什么是動態檢索分區數的推薦方法,以便線程池cat中的初始化代碼設置正確的線程數?

能夠動態調整到越來越多的分區不是必需的。

看一下Java API(v.0.8.1),我找不到一種直接的方法。 目前我正在瀏覽Scala源代碼,我看到有希望的類(這個問題的Scala解決方案也受到歡迎),但是我也想向社區詢問這個問題,以防有人已經找到了一個很好的方法。

謝謝,

比分區更多的線程將以空閑線程結束,因為每個分區只能由一個消費者線程使用。 另一方面,比線程更多的分區最終會使線程占用多個分區,從而影響性能。

因此,為了簡化,只需使用與分區完全相同的線程數。 如果你發現性能成為一個問題,也許你應該有更多的分區,然后更多的線程。

您不應該讓消費者線程計數與分區計數匹配。 只需制作一些消費者線程,以最大限度地提高您的消費能力(例如,如果您正在進行大量CPU,則需要大約2倍的內核,如果您正在進行大量I / O,則會更多或更少,具體取決於其性質)。

暫無
暫無

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

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