惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
C
Check Point Blog
Vercel News
Vercel News
Y
Y Combinator Blog
G
Google Developers Blog
P
Proofpoint News Feed
WordPress大学
WordPress大学
MongoDB | Blog
MongoDB | Blog
博客园 - 司徒正美
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
L
LangChain Blog
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
博客园_首页
B
Blog RSS Feed
The Cloudflare Blog
MyScale Blog
MyScale Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Security Blog
Microsoft Security Blog

博客园 - Sam Xiao

在线工具 工作备注笔记 JT808,JT1078 —— AAC编码 —— 部标机语音对讲Java实现 博文阅读密码验证 - 博客园 minio 安装 若依-扩展为多租户版本 npm 错误,ERESOLVE unable to resolve dependency tree 解决方案 openssl 生成多域名 多IP 的数字证书 SSL/TSL 总结 Windows服务启动exe无界面终极解决方案 大数据技术 nohup Command [ Arg … ] [ & ] centos7 docker安装 pgsql安装与主从配置搭建 rocketmq 搭建配置 定义制造业操作(定义 MES/MOM 系统) go 从入门到了解 dubbo 的三种引用 把nacos安装成windows服务
MQTT 实践总结
Sam Xiao · 2024-01-08 · via 博客园 - Sam Xiao

QMQX 文档:https://www.emqx.io/docs/zh/latest/

MQTT 入门:https://www.emqx.com/zh/mqtt-guide

通过案例理解 MQTT 主题与通配符:https://www.emqx.com/zh/blog/advanced-features-of-mqtt-topics
① 为了避免歧义且易于理解,通常不建议主题以 / 开头或结尾,例如 /chat 或 chat/
② 不同于消息队列中的主题(比如 Kafka 和 Pulsar),MQTT 主题不需要提前创建。MQTT 客户端在订阅或发布时即自动的创建了主题,开发者无需再关心主题的创建,并且也不需要手动删除主题。
③ MQTT 主题通配符包含单层通配符 + 及多层通配符 #,主要用于客户端一次订阅多个主题。(注意:通配符只能用于订阅,不能用于发布。)
④ 井字符号(“#” U+0023)是用于匹配主题中任意层级的通配符。多层通配符表示它的父级和任意数量的子层级,在使用多层通配符时,它必须占据整个层级并且必须是主题的最后一个字符
⑤ 以 $SYS/ 开头的主题为系统主题,系统主题主要用于获取 MQTT 服务器自身运行状态、消息统计、客户端上下线事件等数据。
⑥ EMQX 还支持客户端上下线事件、收发流量、消息收发、系统监控等丰富的系统主题,用户可通过订阅 $SYS/# 主题获取所有系统主题消息。详细请见:EMQX 系统主题文档。
⑦ 共享订阅是 MQTT 5.0 引入的新特性,用于在多个订阅者之间实现订阅的负载均衡,MQTT 5.0 规定的共享订阅主题以 $share 开头。

myhome/bedroom/temperature
myhome/bedroom/humidity
myhome/bedroom/airquality
myhome/livingroom/temperature
myhome/livingroom/humidity
myhome/livingroom/airquality
myhome/kitchen/temperature
myhome/kitchen/humidity
myhome/kitchen/airquality
订阅 myhome/bedroom/+ 主题获取卧室的温度、湿度及空气质量数据,
订阅 myhome/+/temperature 主题获取三个房间的温度数据,订阅 myhome/# 获取所有的数据。

与rabbitmq的匹配符类似 例如 ”abc.#” 匹 配 ”abc.def.ghi” , ”abc.” 只 匹配”abc.def”。


QoS(Quality of Service)即服务质量
QoS 0:消息最多传送一次。如果当前客户端不可用,它将丢失这条消息。
QoS 1:消息至少传送一次。
QoS 2:消息只传送一次。


遗嘱消息,保留消息