MQTT 一篇入门

目录

1.什么是MQTT?

2.MQTT 历史

3.MQTT 功能介绍

4.MQTT 协议框架

5.MQTT 示例


1.什么是MQTT?

mqtt (Message Queuing Telemetry Transport )是一个基于客户端-服务端的消息发布/订阅传输协议,由IBM在1999年发布。

因为它轻量、简单、开放和易于实现,使得它的使用范围非常广泛。

mqtt 协议构建与TCP/IP 协议之上,建议客户端到服务端的连接,提供两者之前的一个有序的,无损的,基于字节流的双向传输

mqtt 最大的优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。因此,mqtt 可以应用在很多情况下,包括受限的环境中,比如:机器与机器的通信M2M 和物联网IOT,其中,在通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、以及一些小型化设备中已经广泛使用。

2.MQTT 历史

1999年,由Andy Stanford-Clark(IBM)和Arlen Nipper 发明

最初的目的是用最小的电池消耗以及最小的带宽通过卫星连接链接输油管

2010年,IBM 推出MQTT 3.1版本

2014年10月29日,MQTT 成为OASIS标准

3.MQTT 功能介绍

当应用数据通过mqtt 网络发送时,mqtt会把与之相关的服务质量QOS 和主题名Topic 相关联,主要特点是:

a.使用发布/订阅的消息模式,提供了一对多消息分发,可以实现与应用程序的解耦

b.对负载内容屏蔽的消息传输机制

c.数据传输和协议交换的最小化(协议头部只有2个字节),以减少网络流量

d.异常中断时,通知双方

e.传输消息有三种服务质量

  • 最多一次,<=1 ,这一级别会发生消息丢失或重复,消息发布依赖于底层TCP/IP网络
  • 至少一次,>=1,这一级别会确保消息到达,但消息可能会重复
  • 只有一次,=1 ,确保消息只有一次到达,主要应用在一些要求比较严格的计费系统

mqtt协议中定义了一系列的方法(或动作)

主要有:

  • connect
  • disconnect
  • subscribe
  • unsubscribe
  • publish

支持MQTT协议消息中间件产品?

目前有很多的MQTT消息中间件服务器,如下,都是MQTT协议的服务器端的实现。

  • IBM Websphere
  • MQ Telemetry
  • IBM MessageSight
  • Mosquitto
  • Eclipse Paho
  • emqttd Xively
  • M2M.io
  • webMethods
  • Nirvana Messaging
  • RabbitMQ
  • Apache ActiveMQ
  • Apache Apollo
  • Moquette
  • HiveMQ
  • Mosca
  • Litmus Automation Loop
  • JoramMQ
  • ThingMQ
  • VerneMQ

4.MQTT 协议框架

mqtt 软件架构

在软件架构中,发布订阅是一种消息传输模式

消息发送者,成为发布者publisher;消息接收者,称为订阅者subscriber。此两者之前并不直接发送消息,而是把消息归为与订阅者无关的类别。

5.MQTT 示例

 

参考:

三分钟弄懂物联网流行协议——MQTT

MQTT 协议中文版(官方)

mqtt example

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值