【发布时间】:2017-09-20 13:40:39
【问题描述】:
消费者可以在 Kafka 中订阅的主题的最大限制是多少。我无法在任何地方找到此值。
如果消费者订阅500000或更多主题,性能是否会降级。
【问题讨论】:
标签: apache-kafka kafka-consumer-api
消费者可以在 Kafka 中订阅的主题的最大限制是多少。我无法在任何地方找到此值。
如果消费者订阅500000或更多主题,性能是否会降级。
【问题讨论】:
标签: apache-kafka kafka-consumer-api
从代理的角度来看,单个 Kafka 集群中的 500,000 或更多主题将是一个糟糕的设计。您通常希望将主题分区的数量保持在数万以内。
如果您发现自己认为在 Kafka 中需要这么多主题,您可能希望考虑创建较少数量的主题并使用 500,000 或更多键。 Kafka 中的密钥数量是无限的。
【讨论】:
从技术上讲,您可以订阅的“最大”主题数将受到消费者进程可用内存空间的限制(如果您的主题明确列出,那么 Java 字符串池的很大一部分将是您的话题)。这似乎是不太可能的限制因素(明确列出许多主题是禁止的)。
另一个考虑因素是如何在 Group Coordinator Brokers 设置主题分配数据结构。他们可能会用完空间来记录主题分配,具体取决于他们如何做。
最后,最可信的是 Apache Zookeeper 节点上的可用内存。 ZK 将所有数据保存在内存中以便快速检索。 ZK 也没有分片,这意味着所有数据必须适合一个节点。这意味着您可以创建的主题数量是有限的,这受到 ZK 节点上可用内存的限制。
【讨论】:
消费由消费者发起。订阅主题的行为并不意味着消费者将开始接收该主题的消息。因此,只要消费者可以轮询和处理这么多主题的数据,Kafka 也应该没问题。
【讨论】:
【讨论】: