消费者在Kafka中订阅的主题的最大限制是多少。我无法在任何地方找到这个值。
如果消费者订阅了500000个或更多主题,那么性能会降级吗。
答案 0 :(得分:2)
要技术化,您可以订阅的“最大”主题数量将受到使用者进程的可用内存空间的限制(如果您的主题已明确列出,那么Java String池的很大一部分将是您的话题)。这似乎不太可能是限制因素(列出许多主题明确禁止)。
另一个考虑因素是如何在Group Coordinator Brokers中设置主题分配数据结构。它们可能会用尽空间来记录主题分配,具体取决于它们的工作方式。
最后,最合理的是Apache Zookeeper节点上的可用内存。 ZK将所有数据保存在内存中以便快速检索。 ZK也没有分片,这意味着所有数据必须适合一个节点。这意味着您可以创建的主题数量有限制,这受到ZK节点上可用内存的限制。
答案 1 :(得分:1)
消费是由消费者发起的。订阅主题的行为并不意味着消费者将开始接收该主题的消息。因此,只要消费者可以轮询和处理这么多主题的数据,Kafka也应该没问题。
答案 2 :(得分:1)
如果您发现自己认为在Kafka中需要许多主题,则可能需要考虑创建较少数量的主题并使用500,000或更多密钥。卡夫卡的钥匙数量是无限的。
答案 3 :(得分:0)