我对Kafka有个概念上的问题。
我们有许多机器作为一个主题的消费者,有许多分区。这些机器运行在不同的硬件设置上,并且将有比其他机器具有更高吞吐量的用户。
现在消费者和一个或多个分区之间存在直接关联。
如何防止一个分区(慢速使用者)比其他分区(快速使用者)更快地累积未使用的消息,从而导致分区不平衡。
我的一个想法是定期强制重新平衡,但这通常会再次将相同的消费者分配到相同的队列。如果他们被随机分配的话,我的问题就解决了。
如果有任何提示我都会很感激的。
谢谢,来自柏林的问候,丹尼斯
我对Kafka有个概念上的问题。
我们有许多机器作为一个主题的消费者,有许多分区。这些机器运行在不同的硬件设置上,并且将有比其他机器具有更高吞吐量的用户。
现在消费者和一个或多个分区之间存在直接关联。
如何防止一个分区(慢速使用者)比其他分区(快速使用者)更快地累积未使用的消息,从而导致分区不平衡。
我的一个想法是定期强制重新平衡,但这通常会再次将相同的消费者分配到相同的队列。如果他们被随机分配的话,我的问题就解决了。
如果有任何提示我都会很感激的。
谢谢,来自柏林的问候,丹尼斯
1条答案
按热度按时间uubf1zoe1#
您不必为生产者使用默认分区器,也不必在使用者中使用动态分区分配。您可以有一个高速分区池和一个单独的低速分区池,并手动(或随机)为每个分区池分配消息和使用者。
“…不使用subscribe订阅主题,只需调用assign(collection)和要使用的分区的完整列表。
"