MQTT和kafka搭配使用 集成 emq iot 物联网

MQTT历史

MQTT 协议于 1999 年发明,用于石油和天然气行业。工程师需要一种协议来实现最小带宽和最小电池损耗,以通过卫星监控石油管道

最初,该协议被称为Message Queuing Telemetry Transport(消息队列遥测传输),得名于首先支持其初始阶段的 IBM 产品 MQ 系列。2010 年,IBM 发布了 MQTT 3.1 作为任何人都可以实施的免费开放协议,然后于 2013 年将其提交给结构化信息标准促进组织 (OASIS) 规范机构进行维护。2019 年,OASIS 发布了升级的 MQTT 版本 5。现在 MQTT 不再是首字母缩写词,而是被认为是协议的正式名称。

MQTT 背后的原理是什么?

MQTT 协议基于发布/订阅模型工作。在传统的网络通信中,客户端直连服务器,相互通信。客户端向服务器请求资源或数据,然后,服务器将处理并发回响应。

但是,MQTT 使用发布/订阅模式将消息发送者(发布者)与消息接收者(订阅者)解耦。相当于做了中间人。即:发送者不再直接发给接受者,而是发给MQTT程序,由MQTT程序发给接受者称为消息代理的第三个组件将处理发布者和订阅者之间的通信。代理的工作是筛选所有来自发布者的传入消息,并将它们正确地分发给订阅者。代理将发布者和订阅者解耦,如下所示:

空间解耦

发布者和订阅者不知道彼此的网络位置,也不交换 IP 地址或端口号等信息。

时间解耦

发布者和订阅者不会同时运行或具有网络连接。

同步解耦

发布者和订阅者都可以发送或接收消息,而不会互相干扰。例如,订阅者不必等待发布者发送消息。

什么是 MQTT?- MQTT 协议简介 - AWS

MQTT和kafka

MQTT 是协议,Kafka是软件。

MQTT 是协议,是一个技术标准,由 OASIS 技术委员会的成员(其成员多数为 IBM 和微软的顶级工程师)制订,IBM在1999年发布。“MQTT”中的“MQ” 是来自于IBM的MQ系列消息队列产品线。

Kafka是一个程序,具体点说是一个分布式、支持分区的(