杂文(8):MQTT

最后更新于2021年3月3日08:54:11
MQTT入门 这个的三级服务质量部分写的太差了,又是错别字又是语句不通顺。其他部分可以看看。

MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。订阅者(Subscriber) 会向 消息服务器(Broker) 订阅一个 主题(Topic) 。成功订阅后,消息服务器会将该主题下的消息转发给所有的订阅者。
MQTT的三级服务质量(Quality of Service,QoS):
级别0:最多一次。到达不到达发布者不管,发布者(客户端,服务端做为发送端的时候)只发送一次,不管接收端是否收到数据;
级别1:至少一次。接收者如果没有知会或者知会本身丢失,发布者会再次发送以保证接收者至少会收到一次,当然可能造成重复消息。
级别2:恰好一次。只有一次到达,发布者需要到达后确认,接收者需要发布者再次确认。

MQTT的特点,我主要写几个看得懂的(来自百度百科):

  1. 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;
  2. 使用 TCP/IP 提供网络连接;
  3. 小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量。

之所以选择MQTT,原因是:

  1. 快:小型传输,开销很小,上面说过了;
  2. 稳定:为了满足不同的场景,MQTT支持三种不同级别的服务质量(Quality of Service,QoS)为不同场景提供消息可靠性;
  3. 行业内通用:出售软件主要是出售的客户端,需要保证对消息中间件的支持。(简单说就是人家问你哎呀你们这个java和c#的程序支不支持MQTT呀,你能说支持的)

EMQ X是一个MQTT Broker(消息中间件)。
EMQ X 程序包下载地址
在我的项目中是通过docker镜像方式安装的EMQ服务器。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值