我正在开发一款移动消息应用程序。我正在查阅所需的技术,发现了两个MQTT和Apache Kafta。对于我来说,两者在订阅和发布主题方面似乎都是以相同方式进行的。
我听说MQTT非常轻量级,适合移动端?那么,这两者之间有什么区别,各自的优势是什么?
我正在开发一款移动消息应用程序。我正在查阅所需的技术,发现了两个MQTT和Apache Kafta。对于我来说,两者在订阅和发布主题方面似乎都是以相同方式进行的。
我听说MQTT非常轻量级,适合移动端?那么,这两者之间有什么区别,各自的优势是什么?
MQTT是一种标准协议(有许多实现方式)。Kafka(也是一个协议)通常通过从Apache网站或例如Confluent Docker镜像下载来使用。
这就像比较苹果和橙子,两者存在的原因非常不同。
我在物联网环境中看到的大多数用例都是将MQTT和Apache Kafka结合使用。边缘设备使用MQTT协议进行通信(因其在边缘环境中的优势)。然后将其转发到Apache Kafka中,以将事件传递到企业架构的其他部分。
您可以通过MQTT Broker(例如HiveMQ + Apache Kafka)或通过MQTT Proxy(这样您就不需要MQTT Broker)来执行此操作。当然,两个选项都有权衡。
请参见此示例,了解如何将MQTT与Apache Kafka结合使用。或直接转到Github代码:“用于流媒体MQTT IoT传感器数据的KSQL深度学习UDF的异常检测”。
我还创建了一个关于如何集成Apache Kafka和MQTT的实时演示。