如果我们有大量频道,我想知道Kafka是否有任何限制或开始减速(由于GC或其他原因)。我们将通过Kafka发送大量数据(超过2B数据点)。我们想要开始使用大约1600个频道。
当我们在卡夫卡拥有如此众多的频道时,是否有人遇到过问题?同样,您是否看到使用这些大量通道进行本地DC复制的问题,以及如果我们使用MirrorMaker进行具有如此大量通道的跨DC复制的任何可预见的问题
任何指针都非常受欢迎
由于
答案 0 :(得分:2)
我认为卡夫卡本身的主题数量没有硬限制。但是,由于Kafka在Zookeeper中存储主题信息(// brokers / topics /),并且Zookeeper对最大节点大小有1MB的限制,因此只能有有限数量的主题。此外,Kafka经纪人在/ var / kafka / data /中存储不同主题的数据。如果/ var / kafka / data /中的子目录太多,性能可能会受到影响。
我还没有尝试过数以千计的主题,但有几百个主题的Kafka可以用于我的目的。我遇到问题的唯一区域是使用高级消费者时创建动态主题。它需要客户端重新连接才能在所有消费者盒子上获取新主题。这导致耗时的消费者重新平衡(有时失败,阻止从某些主题读取)。因此,我不得不切换到简单的消费者,并在我的代码中注意阅读协调。
我建议您创建一个简单的测试应用,根据您预期的主题数生成一些随机数据,并验证效果是否可以接受。