RsMQ 消息中间件 · 核心概念
RsMQ 消息中间件 · 核心概念
MQTT 协议模型
RsMQ 支持 MQTT 3.1.1 协议。MQTT 采用发布/订阅(Pub/Sub)模型:消息生产者(发布者)与消费者(订阅者)互不直连,而是通过 Broker 按**主题(Topic)**进行路由,实现空间与时间上的松耦合。
主题与订阅
主题是以斜杠分隔的层级字符串,支持通配符订阅:
#:多层通配符,只能位于末尾,如factory/line1/#匹配该前缀下的所有层级。+:单层通配符,匹配且仅匹配一个层级,如factory/+/sensor/temperature。
text
factory/line1/sensor/temperature
factory/line1/sensor/humidity
factory/line2/device/status
服务质量等级(QoS)
| 等级 | 含义 | 交付保证 |
|---|---|---|
| QoS 0 | 至多一次 | 尽力发送,不重试 |
| QoS 1 | 至少一次 | 确保送达,可能重复 |
| QoS 2 | 恰好一次 | 通过四次握手保证不重不漏 |
会话与心跳
- 会话(Session):连接时可选择是否由 Broker 保存订阅关系与未达消息,支持客户端断线重连后的状态恢复。
- Keep Alive:客户端按约定间隔发送心跳报文,Broker 据此判定连接存活状态,超时未收到报文则关闭连接。
保留消息与遗嘱消息
- 保留消息(Retained):Broker 为每个主题保存最近一条保留消息,新订阅者可立即获取最新状态,而非等待下一次发布。
- 遗嘱消息(Last Will):客户端连接时预先登记遗嘱主题与内容;当其异常离线时,由 Broker 代为发布,便于其他订阅者感知设备掉线。
规则引擎
规则引擎是 RsMQ 的核心扩展能力之一。每条规则由触发条件与动作组成:当消息满足预设条件时,执行转发、转换或告警等动作,将消息对接至下游业务系统,详见「集群与规则」章节。