跳到主要内容

特性

YedMQ 聚焦于面向分布式 IoT 场景的 MQTT Broker 核心能力。下面列出的都是当前实现,而不是未来规划中的能力。

MQTT Broker 能力

  • MQTT v3.1.1
  • QoS 0、1、2
  • 保留消息
  • 遗嘱消息
  • 持久会话
  • $SYS 系统主题发布
  • 可配置的最大消息大小

网络监听能力

  • MQTT over TCP
  • MQTT over TLS
  • MQTT over WebSocket
  • MQTT over Secure WebSocket
  • REST 管理 API

多租户行为

  • 租户身份可以由认证插件分配
  • 会话、主题、保留消息和客户端身份都按租户隔离
  • 未分配租户的连接会落到默认的 public 租户

集群与高可用

  • 基于 Raft 的集群协调
  • 为 topic 元数据、session actor map 和 session state 分别维护 raft 组
  • 通过 bootstrapjoin 两种启动模式支持首节点和扩容节点
  • 提供 learner 添加、成员变更、指标查看和 raft 初始化相关 REST API

插件系统

  • 插件目录位于 plugin.dir 下的一级子目录
  • 插件以子进程方式启动
  • Broker 与插件通过本地 socket + Protobuf 通信
  • hook 链按优先级排序
  • 当前 Broker 侧主要接入认证、鉴权、消息发布和断连相关流程

运维与管理

  • 基于 Basic Auth 保护的 REST API
  • 插件列表、客户端列表、主题列表、保留消息和系统信息接口
  • 集群指标和成员管理接口
  • 可配置日志级别和监听器限流

尚未实现

  • MQTT v5.0
  • 共享订阅
  • 磁盘消息持久化
  • Prometheus 指标
  • Web UI 仪表盘