HiveMQ Kafka 解决方案

将物联网数据和 MQTT 消息流式传输到 Kafka

Apache Kafka是一个流行的开源流媒体平台,可以轻松地在企业系统和应用程序之间共享数据。HiveMQ Enterprise Extension for Kafka使得使用 Kafka 集群发送和接收 IoT 设备数据成为可能。

新增功能:HiveMQ Cloud 现在与Confluent Cloud集成,可以轻松地将 IoT 数据流式传输到 Confluent Cloud 中。

HiveMQ 和 Kafka 架构

HiveMQ 通过将 MQTT 消息无缝集成到 Kafka 消息传递流中,解决了 Kafka for IoT 的问题。相反,Kafka 消息可以分发到 HiveMQ 和 MQTT 客户端。HiveMQ 代理已扩展为包含 Kafka 协议的本机实现。这允许 HiveMQ 将 MQTT 消息转置到 Kafka 协议中,反之亦然。我们的架构允许对物联网数据进行全面的 MQTT 支持,并与 Kafka 完全集成。

为什么物联网需要HiveMQ和MQTT

Kafka 非常适合在企业系统和位于数据中心或云中的应用程序之间共享数据。但是,对于物联网,Kafka不适合的原因有很多:

  • Kafka 代理需要由客户端直接寻址,而对于通过负载均衡器连接的 IoT 设备,情况并非如此。
  • Kafka客户端需要稳定的IP连接,而通过不可靠的蜂窝网络连接的物联网设备并不总是如此。
  • Kafka不支持大量主题,因此具有大型主题空间的大型物联网部署通常不适合Kafka。
  • Kafka 客户端很复杂且资源密集,因此较小的受限 IoT 设备通常无法运行 Kafka 客户端。
详细功能
实现 Kafka 协议,以便可以将 MQTT 消息写入 Kafka 主题,相反,可以将 Kafka 消息分发到多个 MQTT 客户端。
支持所有 MQTT 3 和 MQTT 5 功能,包括所有 QoS 级别
为每个 Kafka 主题选择多个 MQTT 主题筛选器(MQTT 主题筛选器完全支持 MQTT 通配符)。
在代理处缓冲消息,以确保在 Kafka 集群不可用时的高可用性和容错能力。
监视在 HiveMQ 控制中心上写入 Kafka 的 MQTT 消息。
将 Kafka 消息分发到多个 MQTT 客户端
将一个到多个 Kafka 主题映射到多个 MQTT 主题。
编程自定义 API,用于指定 MQTT 到 Kafka 主题映射和自定义消息转换。
MQTT PUBLISH 数据包可以在运行时动态生成,并使用部分 Kafka 消息替换变量
在架构注册表的帮助下验证从 Kafka 读取的消息
使用预定义的缺省配置或以配置方式设置 MQTT PUBLISH 元数据的可能性