[英]Kafka consumer - what's the relation of consumer processes and threads with topic partitions
[英]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.