Apache Kafka和MQTT:端到端IoT集成

想更多地了解从边缘到数据中心的物联网集成吗? 查看有关使用Apache Kafka和MQTT进行端到端IoT集成的文章。

Kafka和MQTT是两种互补技术。 它们共同使我们能够从边缘到数据中心构建IoT端到端集成-无论是在内部部署还是在公共云中。完整的案例(幻灯片+录像+演示)可在Kafka Summit网站上找到:Kafka MQTT Integration。

使用Apache Kafka和MQTT的目的

MQTT是一种广泛使用的基于ISO-IEC标准(ISO / IEC PRF 20922)的基于发布-订阅的消息传递协议。 MQTT具有许多实现,例如Mosquitto或HiveMQ。要获得良好的概述,请参阅Wikipedia对MQTT代理的比较。 MQTT主要用于物联网场景(如联网汽车或智能家居设备)。但是,由于它对WebSockets的支持,它也越来越多地在移动设备中使用。

但是,MQTT并不是为实现高可伸缩性,更长的存储时间或易于与旧系统集成而构建的。 Apache Kafka是一个高度可扩展的分布式流平台。 Kafka从数以千计的IoT设备中提取,存储,处理和转发大量数据。

因此,MQTT和Apache Kafka是从边缘到数据中心(当然还有双向)的端到端IoT集成的完美组合。

让我们看一下构建此集成的两种不同选择。两种解决方案都可以实现高度可扩展且关键任务的IoT场景集成。但是,它们使用不同的概念,包括权衡取舍。

MQTT Broker,Apache Kafka和Kafka Connect MQTT连接器

该项目致力于通过MQTT Broker和Kafka Connect将MQTT传感器数据集成到Kafka中,以进行进一步处理:

Apache Kafka Connect MQTT Broker Mosquitto集成
Apache Kafka Connect MQTT Broker Mosquitto集成

通过这种方法,您可以通过Kafka Connect从MQTT Broker中提取数据到Kafka Broker。 您可以利用Kafka Connect的任何功能,例如内置的容错能力,负载平衡,转换器和简单消息转换(SMT)进行路由/过滤/等操作,在一个Connect工作实例和其他与Kafka Connect相关的实例中扩展不同的连接器 好处。

这是GitHub项目,包括演示脚本,您可以自己尝试:

Apache Kafka + Kafka Connect + MQTT连接器+传感器数据

MQTT代理和Apache Kafka(无MQTT代理)

作为使用Kafka Connect的替代方法,您可以利用Confluent MQTT代理。 您将需要直接集成来自IoT设备的IoT数据,而无需MQTT Broker:

Apache Kafka MQTT代理Confluent-2
Apache Kafka MQTT代理Confluent-2

通过这种方法,您可以通过Confluent MQTT代理将数据直接推送到Kafka代理。 您可以使用负载均衡器轻松扩展MQTT代理(类似于Confluent REST代理)。 巨大的好处是,您不需要在中间使用其他MQTT Broker。 这样可以大大减少工作量和成本。 这是将数据推送到Kafka的更好方法。

这是Github项目,包括演示脚本,您可以自己尝试:

用于KSQL的深度学习UDF,用于MQTT IoT传感器数据的流异常检测。

两种方法都有其权衡。 好消息是您可以选择。 为您的用例选择合适的工具和体系结构!

结论:MQTT和Apache Kafka是互补的并且很好地集成

MQTT和Apache Kafka都对自己的用例有很大的好处。 但是,它们都不是所有事物的唯一全能者。 两者的结合使它们非常强大,并且是从边缘到数据中心再到后端构建IoT端到端方案的绝佳解决方案。

在卡夫卡峰会上,我将分享许多更多的细节和内容,包括以下内容:

  • 如何端到端集成MQTT和Apache Kafka(不仅谈论连接性,还涉及数据处理,过滤,路由等)
  • 何时选择Kafka Connect和MQTT代理与不带MQTT代理的MQTT代理
  • 演讲和现场演示的幻灯片和视频录制

顺便说一下,如果您想查看带有Kafka接收器应用程序(例如Elasticsearch / Grafana)的IoT示例,请查看项目“用于将IoT数据从MQTT流到实时UI的Kafka和KSQL”。 该示例演示了如何通过Kafka Connect实现与ElasticSearch和Grafana的集成。

SO资源郑重声明:
1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!3187589@qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!

SO资源 » Apache Kafka和MQTT:端到端IoT集成