我目前正在计划开发一个设备服务器,并热衷于使用kafka,但是,我不确定它是否能够支持一个范例,即每个设备有一个主题,而可能有1000多万个设备。
我希望每个主题只有一个分区,每个主题所需的存储空间有限(<1mb)。如果有什么不同的话,一个有数百万个分区的主题也可以考虑。
有没有人能够澄清Kafka在这个层面上的规模限制和期望?特别是,我很想了解每个主题的开销,以及单个消费者通过一个连接消费约1万个订阅主题的有效性/可行性。
非常感谢您的建议
我目前正在计划开发一个设备服务器,并热衷于使用kafka,但是,我不确定它是否能够支持一个范例,即每个设备有一个主题,而可能有1000多万个设备。
我希望每个主题只有一个分区,每个主题所需的存储空间有限(<1mb)。如果有什么不同的话,一个有数百万个分区的主题也可以考虑。
有没有人能够澄清Kafka在这个层面上的规模限制和期望?特别是,我很想了解每个主题的开销,以及单个消费者通过一个连接消费约1万个订阅主题的有效性/可行性。
非常感谢您的建议
2条答案
按热度按时间uyhoqukh1#
Kafka的最佳实践是对那么多的设备使用密钥而不是主题。Kafka可以扩展到无限数量的键,但不能扩展到无限数量的主题
ghhaqwfi2#
一个主题包含多个分区有一些好处。首先,如前所述,您可以使用键来指定发送消息的设备。你不需要让分区的数量等于设备的数量,但是可以少一些;由于密钥的使用,主要的方面是来自同一设备(同一密钥)的消息总是按顺序到达同一分区。在用户端,您可以利用同一用户组中的更多用户在不同分区上工作并共享消息负载;您可以向上扩展到与分区数相等的用户数。