一、简介
mica-mqtt 基于 java aio 实现的简单、低延迟、高性能 的 mqtt 物联网开源组件。
mica-mqtt 更加易于集成到已有服务和二次开发,降低自研物联网平台开发成本。
二、功能
- 支持 MQTT v3.1、v3.1.1 以及 v5.0 协议。
- 支持 websocket mqtt 子协议(支持 mqtt.js)。
- 支持 http rest api,http api 文档详见:https://gitee.com/596392912/mica-mqtt/blob/master/docs/http-api.md
- 支持 MQTT client 客户端。
- 支持 MQTT server 服务端。
- 支持 MQTT 遗嘱消息。
- 支持 MQTT 保留消息。
- 支持自定义消息(mq)处理转发实现集群。
- MQTT 客户端 阿里云 mqtt 连接 demo。
- 支持 GraalVM 编译成本机可执行程序。
- 支持 Spring boot、Solon 和 JFinal 项目快速接入。
- mica-mqtt-spring-boot-starter 支持对接 Prometheus + Grafana。
- 基于 redis Stream 实现集群,详见 mica-mqtt-broker 模块:https://gitee.com/596392912/mica-mqtt/blob/master/mica-mqtt-broker
三、使用场景
- 物联网(云端 mqtt broker)
- 物联网(边缘端消息通信)
- 群组类 IM
- 消息推送
- 简单、易用的 mqtt client 客户端
四、更新记录
v2.3.9 - 2024-11-16
- ✨ ssl 支持 PKCS12 证书,根据文件后缀自动判断
.jks、.keystore
识别为 JKS证书,.p12、.pfx
识别成 PKCS12证书。其他默认成JKS - ✨ 优化 Solon 版本依赖(仅编译依赖),兼容
2.8.0
到3.x
版本。
v2.3.8 - 2024-09-26
- ✨ 升级到 solon v3, 调整 solon 版本兼容
- 🐛 mica-net 心跳支持了
keepAliveBackoff
,mica-mqtt 漏改规则(影响范围:mica-mqtt server 开源版,私服版无此问题。) gitee #IAW9FC 感谢tan90
反馈。
五、使用
5.1 Spring boot 项目
客户端:
<dependency>
<groupId>net.dreamlu</groupId>
<artifactId>mica-mqtt-client-spring-boot-starter</artifactId>
<version>${mica-mqtt.version}</version>
</dependency>
mica-mqtt-client-spring-boot-starter 使用文档:https://gitee.com/596392912/mica-mqtt/blob/master/starter/mica-mqtt-client-spring-boot-starter/README.md
服务端:
<dependency>
<groupId>net.dreamlu</groupId>
<artifactId>mica-mqtt-server-spring-boot-starter</artifactId>
<version>${mica-mqtt.version}</version>
</dependency>
mica-mqtt-server-spring-boot-starter 使用文档:https://gitee.com/596392912/mica-mqtt/blob/master/starter/mica-mqtt-server-spring-boot-starter/README.md
5.2 Solon 项目
客户端:
<dependency>
<groupId>net.dreamlu</groupId>
<artifactId>mica-mqtt-client-solon-plugin</artifactId>
<version>${mica-mqtt.version}</version>
</dependency>
mica-mqtt-client-solon-plugin 使用文档:https://gitee.com/596392912/mica-mqtt/blob/master/starter/mica-mqtt-client-solon-plugin/README.md
服务端:
<dependency>
<groupId>net.dreamlu</groupId>
<artifactId>mica-mqtt-server-solon-plugin</artifactId>
<version>${mica-mqtt.version}</version>
</dependency>
mica-mqtt-server-solon-plugin 使用文档:https://gitee.com/596392912/mica-mqtt/blob/master/starter/mica-mqtt-server-solon-plugin/README.md
5.3 JFinal 项目
客户端:
<dependency>
<groupId>net.dreamlu</groupId>
<artifactId>mica-mqtt-client-jfinal-plugin</artifactId>
<version>${mica-mqtt.version}</version>
</dependency>
mica-mqtt-client-jfinal-plugin 使用文档:https://gitee.com/596392912/mica-mqtt/blob/master/starter/mica-mqtt-client-jfinal-plugin/README.md
服务端:
<dependency>
<groupId>net.dreamlu</groupId>
<artifactId>mica-mqtt-server-jfinal-plugin</artifactId>
<version>${mica-mqtt.version}</version>
</dependency>
mica-mqtt-server-jfinal-plugin 使用文档:https://gitee.com/596392912/mica-mqtt/blob/master/starter/mica-mqtt-server-jfinal-plugin/README.md
5.4 其他 Java 项目
客户端
<dependency>
<groupId>net.dreamlu</groupId>
<artifactId>mica-mqtt-client</artifactId>
<version>${mica-mqtt.version}</version>
</dependency>
mica-mqtt-client 使用文档:https://gitee.com/596392912/mica-mqtt/blob/master/mica-mqtt-client/README.md
服务端
<dependency>
<groupId>net.dreamlu</groupId>
<artifactId>mica-mqtt-server</artifactId>
<version>${mica-mqtt.version}</version>
</dependency>
mica-mqtt-server 使用文档:https://gitee.com/596392912/mica-mqtt/blob/master/mica-mqtt-server/README.md
六、文档
- mqtt科普、mqttx、mica-mqtt的使用视频:https://www.bilibili.com/video/BV1wv4y1F7Av
- mica-mqtt 示例、快速开始:https://gitee.com/596392912/mica-mqtt/blob/master/example/README.md
- mica-mqtt 使用常见问题汇总:https://gitee.com/596392912/mica-mqtt/issues/I45GO7
- mica-mqtt 发行版本: https://gitee.com/596392912/mica-mqtt/blob/master/CHANGELOG.md