Apache Kafka中的分区数量是否有上限。

时间:2015-08-24 19:16:12

标签: apache-kafka kafka-consumer-api

我已经读过它10000.但我想知道的是这个限制在1个代理或整个集群上。 我希望有一个带有事件名称的主题,并捕获用户的所有事件流。现在,我希望将记录活动记录在特定用户事件所在的奉献分区上的每个用户。 现在如果用户数量超过10000,怎么办呢。我可以通过添加另一个代理来增加分区数量,或者这种方法根本不可行。 回应如果高度赞赏。 谢谢

2 个答案:

答案 0 :(得分:0)

首先,Kafka的作者在Confluent blog上发表了关于Kafka Partitions的好文章。也许它会帮助你。

我不认为为每个用户创建分区是个好主意。除了其他事情,很难动态地向Kafka集群添加新分区,我想你需要它。这种架构的主要原因是什么?

我认为使用let说十个分区就足够了,你可以发送给1000个用户的每个分区数据。当您阅读邮件时,您将始终知道该邮件属于哪个用户,因为会有一些userId。您只需确保来自同一用户的两个事件将在同一分区中结束。这就是全部。

希望它有所帮助,Lukas

答案 1 :(得分:0)

这个问题有点老了,但围绕这个问题有很多困惑。

答案与您运行的 Kafka 代理的版本密切相关。正如您在此 Apache blog post 中看到的那样,一个合理更新的集群每个代理最多可以容纳 4,000 个分区,一个集群中最多可以容纳 200,000 个分区。< /p>