我正在尝试开发一个基于IoT的应用程序,其中多个设备将生成数据并将其发送给Kafka经纪人。设备的可能数量约为60-70000。
可能有5-10种不同的设备类型,但是每种类型的设备数将以千为单位,例如每种为20-40 000。
我想了解Kafka主题用法,在该用法中它应该支持许多设备(平均2万至4万个设备)。
另外,请让我知道此类应用程序是否需要基于MQTT的实现。
预先感谢
Avinash Deshmukh
答案 0 :(得分:1)
分区的数量主要影响用户端,因为它是读取消息的并行单元。 在生产者方面,请考虑由于每个领导者分区都由一个代理托管,因此生产者必须连接到不同的代理以写入不同的分区,因此需要多个TCP连接。
关于MQTT,这意味着您必须运行MQTT代理,然后运行带有相关MQTT连接器的Kafka Connect。这取决于您拥有的设备的类型。 MQTT协议作为轻量级协议最适合嵌入式/ IoT设备,因此对于低功耗设备,它比在设备堆栈上使用Kafka协议更有意义。但这还取决于您是否在边缘使用IoT网关,从现场的多个设备收集消息,然后将其发送到Kafka。
答案 1 :(得分:0)
我想了解Kafka主题用法,在该用法中它应该支持许多设备(平均2万至4万个设备)。
说实话,我不明白这个问题。您是否要求确定主题大小?多少个分区?等等等 您要为您的设备提供对Kafka群集的直接访问吗?
另外,请让我知道此类应用程序是否需要基于MQTT的实现。
Apache Kafka本身不支持MQTT。您是在谈论任何商业解决方案吗?