当前位置: 首页 > news >正文

MQTT

MQTT介绍

1. 应用场景:物联网行业

2. 常见特点

  1. 轻量级
  2. 可靠性强
  3. 安全性强
  4. 双向通信(既可以做发布者,也可以做订阅者)
  5. 多语言支持

3. 实现协议相关的库:EMQX...

EMQX入门

部署

服务端部署:docker
客户端部署:MQTTX

QOS

  1. QOS=0 即发即弃,没有应答。消息可能会丢失
  2. QOS=1 发送端存储,设置packetid,等会brocker响应,如果没有响应,就会重传。可能会导致消息重复
  3. QOS=2 保证之发送一次,不丢失
    常用场景:
    qos=0: 高频,不重要,如传感器
    qos=1: 重要数据,比如下达关键指令
    qos=2: 金融,航空等业务场景

主题详解

支持多层级主题,以/以划分
如:/chat/room/1

+表示一层 /chat/+/1

表示多层 /chat/#

SYS系统主题

消息详解

保留消息

  1. 保留在mqtt服务器中,任何新的订阅者与该保留消息主题匹配,都会立即受到这条消息。
  2. 保留消息针对某一个主题,最多只有一个最新保留消息。
  3. 保留消息主题发布之前订阅不能收到保留消息,必须发布后重新订阅才会收到保留消息。
  4. 保留消息删除,发布一个空的保留消息,dashbord直接删除,设置存活时间
    使用场景:传感器的版本号,传感器最新的数据

消息过期时间

遗嘱消息

链接意外断开,mqtt自动发布的已经注册的遗嘱消息

延迟发送

延迟多少秒后发送消息 $delayed/${interval}/${topicname}

用户属性

在connect,disconnect, publish, subscribe报文中,加入用户自定义的信息,一般由key和value组成
应用场景:
日志记录
消息分类

订阅选项

Qos
No local=1不要把消息发送给发送者
Retain as Publish
Retain Hanling

共享订阅

分散发送消息给订阅者
带群组的共享订阅$share/abc/test,每个群组下面都会有一个订阅者收到消息
不带群组的共享订阅$queue/test,相当于多个订阅者属于同一个组

算法:轮询,随机,哈希...

排他订阅

一个主题同一时刻只能有一个订阅者
$exclusive/topicname,这个对于一个主题,只能有一个排他订阅,其他订阅没影响

自动订阅

http://www.hskmm.com/?act=detail&tid=17024

相关文章:

  • 源码安装fail2ban
  • 类的继承与继承的覆盖
  • linux shell awk 中括号 方括号 分割 []
  • springboot配置文件关系及加载顺序
  • 绩效面谈中的优质提问(一)
  • 简单博弈
  • 从 “纸笔清单” 到全栈引擎:数据填报与类 Excel 控件如何重塑企业效率曲线 - 详解
  • 触摸IC原厂 VKD223EB是一款低电流1通道触控1按键触摸芯片 HBM静电大于5KV
  • 09_五大IO模型
  • wsl Ubuntu 使用cmake
  • 做题笔记总板
  • day 4
  • AI元人文思想体系:从哲学基础到价值原语博弈的微观机制
  • 做题笔记16
  • 条件判断语句
  • EXCEL 行列转换
  • 做题笔记6
  • 第17章 Day20-Day21 逆向爬虫之瑞数6
  • 基于多假设跟踪(MHT)算法的MATLAB实现
  • ROS2之消息接口
  • Linux grep cut tomcat logs
  • Vona ORM分表全攻略
  • 如何在预算与风险之间做选择 iOS 混淆(源码混淆 vs IPA 混淆)的成本-收益分析与实战决策框架
  • 【兰州大学主办|EI稳定检索】第二届信息光学与光电技术国际学术会议(CIOT 2025)
  • 深入解析:设计模式-状态模式详解
  • 【IEEE出版】第五届网络通信与信息安全国际学术会议(ICNCIS 2025)
  • 第16章 Day19 Charles安装和使用---微信小程序逆向
  • DBLINK的创建和使用(总结)
  • Could not resolve host: mirrorlist.centos.org
  • axi 4k边界检测