我有一个Kafka集群(在AWS上使用Aivan ):
Kafka硬件
Startup-2 (2 CPU, 2 GB RAM, 90 GB storage, no backups) 3-node high availability set背景群
我有一个主题是:
架构
我的团队建立了一个架构,这样就会有一群消费者。他们将解析这些数据,执行一些转换(不需要任何过滤!)然后将最终消息发送回
这意味着我将数据上传回kafka到一个只包含特定实体的数据的主题。
问题
在任何给定的时间,卡夫卡中最多可以有3-4k的主题(每个独特的实体有一个主题)。
要求
发布于 2021-08-18 15:31:43
主题的数量本身并不重要,但是每个Kafka主题都是分区的,分区的总数可能会影响性能。
Apache社区的一般性建议每个代理的分区不超过4,000个(这包括副本)。链接的KIP文章解释了如果超出限制您可能面临的一些问题,对于3,000个主题,除非您为每个主题选择一个低分区计数和/或复制因子,否则很容易做到这一点。
为主题选择较低的分区计数有时不是一个好主意,因为它限制了读和写的并行性,导致了客户端的性能瓶颈。
为主题选择较低的复制因子有时也不是一个好主意,因为它增加了失败时丢失数据的可能性。
通常,集群上有未使用的主题是可以的,但是要注意,集群管理所有这些分区的元数据仍然会对性能造成影响,一些操作仍将花费比主题不存在的时间更长的时间。
每个集群也有一个限制,但这要高得多(2000个分区)。因此,通过增加集群的节点数,您的体系结构可能会得到更好的服务。
https://stackoverflow.com/questions/68833421
复制相似问题