一、简介
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 目录。
- ⬆️ 依赖升级.