我目前正计划开发设备服务器并且热衷于使用Kafka,但是,我不确定它是否能够支持每个设备有一个主题的范例,什么时候可能有1000万台设备。
我希望每个主题只有一个分区,每个主题只需要有限的存储空间(<1MB)。如果它有所不同,也可以考虑具有数百万个分区的主题。
是否有人能够在此级别上澄清Kafka的扩展限制和期望?特别是,我热衷于了解每个主题的开销以及单个消费者通过单个连接消费约10,000个订阅主题的有效性/可行性。
任何建议都非常感谢, 非常感谢
答案 0 :(得分:2)
Kafka最佳做法是使用密钥而不是那么多设备的主题。 Kafka扩展到无限数量的密钥,但不是无限数量的主题
答案 1 :(得分:1)
将一个主题与多个分区相比具有一些优势。首先,如前所述,您可以使用密钥来指定发送消息的设备。您不需要将分区数量等于设备数量,但可能小于该数量;由于密钥的使用,主要方面是来自同一设备(相同密钥)的消息始终按顺序分配到同一分区。在消费者方面,您可以利用处理不同分区并共享消息负载的同一个消费者组中的更多消费者;您可以扩展到许多消费者等于分区数。