mqtt 系列之综述

1 mqtt 起源

MQTT 的全称为 Message Queue Telemetry Transport,是在 1999 年,由 IBM 两位工程师为通信卫星网络连接输油管道的项目开发的。其主要目的是为了满足低电量消耗和低网络宽带的需求,MQTT 协议在设计之初就包含了一下特点:

  1. 实现简单
  2. 提供数据传输的 QoS
  3. 轻量、占用宽带低
  4. 可传输的任意类型的数据
  5. 可保持的会话

之后 IBM 一直将其当做一个内部协议使用,后来由于物联网的发展,需要标准协议支撑,MQTT 从而广泛的使用于物联网。

2 mqtt 特性

mqtt 协议具有以下特性:

  • 基于 TCP 协议的应用层协议
  • 采用 C/S 架构
  • 使用订阅/发布模式,将消息的发送方和接收方解耦
  • 提供 3 种消息的 QoS(Quality of Service):至多一次,最少一次,有且只有一次
  • 收发消息都是异步的,发送方不需要等待接收方的应答

3 mqtt 与传统消息队列的区别

虽然 MQTT 协议名称中有 Message Queue 这个名词,但是它并不是一个 RabbitMQ 那样的消息队列。MQTT 与传统的消息队列相比有如下区别:

  1. 在传统消息队列中,在发送消息之前,必须先创建相应的队列;在 MQTT 中不需要先创建要发布的主题(可订阅的 Topic);
  2. 在传统消息队列中,未被消费的消息总是被保存在某个队列中,直到有一个消费者将其消费;在 MQTT 中,如果发布一个没有被任何客户端订阅的消息,这个消息将被直接丢弃;
  3. 在传统的消息队列中,一个消息只能被一个客户端获取;在 MQTT 中一个消息可以被多个订阅者获取,MQTT 协议不支持指定消息被单一客户获取。

MQTT 协议可以为大量的低功率、工作网络环境不可靠的物联网设备提供通讯保障,而它的应用范围确不止于此,在移动互联网行业也广泛使用,如Android app 的推动功能,IM等都有基于 MQTT 的实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值