一、简介

mica-mqtt 基于 t-io 实现的简单低延迟高性能 的 mqtt 物联网开源组件。

mica-mqtt 更加易于集成到已有服务和二次开发,降低自研物联网平台开发成本。

二、功能

  • 支持 MQTT v3.1、v3.1.1 以及 v5.0 协议。
  • 支持 websocket mqtt 子协议(支持 mqtt.js)。
  • 支持 http rest api,http api 文档详见
  • 支持 MQTT client 客户端。
  • 支持 MQTT server 服务端。
  • 支持 MQTT 遗嘱消息。
  • 支持 MQTT 保留消息。
  • 支持自定义消息(mq)处理转发实现集群。
  • MQTT 客户端 阿里云 mqtt 连接 demo。
  • 支持 GraalVM 编译成本机可执行程序。
  • 支持 Spring boot 项目快速接入(mica-mqtt-spring-boot-starter)。
  • mica-mqtt-spring-boot-starter 支持对接 Prometheus + Grafana。
  • 基于 redis pub/sub 实现集群,详见 mica-mqtt-broker 模块

三、使用场景

  • 物联网(云端 mqtt broker)
  • 物联网(边缘端消息通信)
  • 群组类 IM
  • 消息推送
  • 简单、易用的 mqtt client 客户端

四、更新记录

v1.3.1 - 2022-05-08

  • ✨ mica-mqtt-broker 默认开启 http 和 basic auth。
  • ✨ mica-mqtt server 添加服务端共享订阅接口,方便开源之夏学生参与。
  • ✨ mica-mqtt server 添加 IMqttSessionListener。
  • ✨ mica-mqtt server publish 保留消息存储。
  • ✨ mica-mqtt server 统一 http 响应模型、优化 http 请求判断。
  • ✨ mica-mqtt server 优化 MqttHttpRoutes,添加获取所有路由的方法。
  • ✨ mica-mqtt server 完善 Result 和 http api。
  • ✨ mica-mqtt server http api 添加 endpoints 列表接口。
  • ✨ mica-mqtt client 添加同步连接 connectSync 方法。
  • ✨ mica-mqtt client 优化 bean 依赖,减少循环依赖可能性。
  • 🐛 重构 mqtt topic 匹配规则,提升性能减少内存占用,修复 gitee #I56BTC
  • ⬆️ spring boot、mica 版本升级

v1.3.0 - 2022-04-17

  • ✨ mica-mqtt mqtt-server 简化,默认多设备可以直接互相订阅和处理消息。
  • ✨ mica-mqtt server、client 添加 tioConfigCustomize 方法,方便更大程度的自定义 TioConfig。
  • ✨ 拆分 mica-mqtt-client-spring-boot-starter 和 mica-mqtt-server-spring-boot-starter gitee #I4OTC5
  • ✨ mica-mqtt-client-spring-boot-example 添加重连动态更新 clientId、username、password 示例。
  • ✨ mica-mqtt server 添加根据踢出指定 clientId 的 http api 接口。
  • ✨ mica-mqtt server IMqttConnectStatusListener api 调整,添加用户名字段。
  • ✨ mica-mqtt server IMqttMessageListener 不再强制要求实现。
  • ✨ 使用 netty IntObjectHashMap 优化默认 session 存储。
  • ✨ 添加 github action,用于自动构建开发阶段的 SNAPSHOT 版本。
  • ✨ 示例项目拆分到 example 目录,mica-mqtt client、server starter 拆分到 starter 目录。
  • ⬆️ 依赖升级.

五、使用文档和示例