我读到它是 10000。但我想知道的是这个限制是针对 1 个代理还是整个集群。 我想要一个带有事件名称的主题并捕获用户的所有事件流。现在,我希望在该特定用户的事件将发生的专用分区上记录每个用户的事件。 现在,如果用户数量超过 10000,我可以通过添加另一个代理来增加分区数量吗?否则这种方法根本不可行。
最佳答案
首先,Confluent blog 上有一篇关于 Kafka 分区的好文章。卡夫卡的作者之一。也许它会对你有所帮助。
我认为为每个用户创建一个分区不是一个好主意。除了其他事情之外,很难动态地将新分区添加到 Kafka 集群,我想你会需要它。这种架构的主要原因是什么?
我认为使用十个分区应该足够了,并且您可以向每个分区发送 1000 个用户的数据。当您阅读消息时,您将始终知道该消息属于哪个用户,因为会有一些userId
。您只需确保来自同一用户的两个事件最终位于同一分区中。仅此而已。
希望有帮助,卢卡斯
关于apache-kafka - Apache Kafka 中的分区数量是否有上限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32190001/