apache-kafka - Apache Kafka 中的分区数量是否有上限

标签 apache-kafka

我读到它是 10000。但我想知道的是这个限制是针对 1 个代理还是整个集群。 我想要一个带有事件名称的主题并捕获用户的所有事件流。现在,我希望在该特定用户的事件将发生的专用分区上记录每个用户的事件。 现在,如果用户数量超过 10000,我可以通过添加另一个代理来增加分区数量吗?否则这种方法根本不可行。

最佳答案

首先,Confluent blog 上有一篇关于 Kafka 分区的好文章。卡夫卡的作者之一。也许它会对你有所帮助。

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

我认为使用十个分区应该足够了,并且您可以向每个分区发送 1000 个用户的数据。当您阅读消息时,您将始终知道该消息属于哪个用户,因为会有一些userId。您只需确保来自同一用户的两个事件最终位于同一分区中。仅此而已。

希望有帮助,卢卡斯

关于apache-kafka - Apache Kafka 中的分区数量是否有上限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32190001/

相关文章:

java - 使用 Spring Cloud Stream 的 Kafka Streams 进程中的 Serde 错误

apache-kafka - Kafka 段删除过于频繁或根本不删除

apache-kafka - 如何获取Kafka流聚合任务的结果并将数据发送到另一个服务?

java - Kafka 管道示例不会将所有记录从主题 a 传送到主题 b

typescript - 无法连接到Kafka服务器的TCP套接字

apache-kafka - Apache 卡夫卡 : Fetching topic metadata with correlation id 0

java - 如何解决 Kafka Broker 中的网络和内存问题?

apache-kafka - 在不安装Confluent Platform的情况下使用Confluent Hub

java - 多个消费者 Spring Kafka

scala - Kafka Producer 不写入 kafka 主题