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 的核心扩展能力之一。每条规则由触发条件与动作组成:当消息满足预设条件时,执行转发、转换或告警等动作,将消息对接至下游业务系统,详见「集群与规则」章节。