mica-mqtt 2.3.4 发布,支持国产轻量级 Solon 框架

一、简介

mica-mqtt 基于 java aio 实现的简单低延迟高性能 的 mqtt 物联网开源组件。mica-mqtt 更加易于集成到已有服务和二次开发,降低自研物联网平台开发成本。

二、功能

  • 支持 MQTT v3.1、v3.1.1 以及 v5.0 协议。
  • 支持 websocket mqtt 子协议(支持 mqtt.js)。
  • 支持 http rest api,http api 文档详见[1]
  • 支持 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 Stream 实现集群,详见 mica-mqtt-broker 模块[2]

三、使用场景

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

四、更新记录

v2.3.4 – 2024-08-10

  • ✨ mica-mqtt 合入 mica-mqtt-client-solon-pluginmica-mqtt-server-solon-plugin 感谢 @peigenlpy
  • ✨ jfinal 插件重命名为 mica-mqtt-client-jfinal-pluginmica-mqtt-server-jfinal-plugin
  • 🐛 mica-mqtt-server 修复分组订阅删除,感谢 @tangjj 反馈。

v2.3.3 – 2024-07-22

  • ✨ mica-mqtt-server 可停止,同步捐助版。
  • ✨ mica-mqtt-server 添加 schedule 系列方法,同步捐助版。
  • ✨ mica-mqtt 代码优化 TopicUtil 优化 getTopicFilter 方法。
  • ✨ mica-mqtt 优化 AckTimerTask 和 retry 重发日志。gitee #IABQ7L 感谢 @tan90 反馈。
  • ✨ mica-mqtt-client-spring-boot-starter 更加方便自定义 MqttClientTemplate。
  • ✨ mica-mqtt-client-spring-boot-starter MqttClientTemplate 暴露更多方法,方便使用。
  • ✨ mica-mqtt-example 添加 ssl 测试代码
  • 🐛 mica-mqtt-client 修复 ssl 服务端重启问题 gitee #IA9FFW #IAEHOD 感谢 @geekerstar @hangrj 反馈。

v2.3.1 – 2024-06-25

  • ✨ mica-mqtt-server 重构心跳,心跳检测模式默认为:最后接收的数据时间。gitee #I9R0SN #IA69SM 感谢 @HY @tan90 反馈。
  • ✨ mica-mqtt-server 优化端口占用的异常提示,方便排查。
  • ✨ mica-mqtt client 使用 mica-net 内置的心跳检测,内置心跳已重构。
  • ✨ mica-mqtt-client 重连不管服务端是否存在 session 都发送订阅。gitee #I9VIUV 感谢 @xiaochonzi 反馈。
  • ✨ 快照版也打 source jar 方便使用。
  • ✨ 添加 renovate bot 方便更新依赖和插件版本。
  • ✨ 优化 issue.yml 和 github action。

五、重点说明

5.1 支持 stop 停止

在最新的版本中 mica-mqtt-client 和 mica-mqtt-server 均可实现完全停止,可帮助开发者更好的实现插件式开发。

5.2 添加 solon 插件

国产轻量级 solon Java 开发框架,越来越多人使用,2.3.4 版本中合并了 @peigenlpy 同学开发的插件。更好的支持 solon 框架。使用 solon 集成的 mica-mqtt example 更是可以实现 毫秒级启动,内存占用也非常少,100M内存即可实现上千连接。

六、使用

6.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 使用文档[3]服务端:

<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 使用文档[4]

6.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 使用文档[5]服务端:

<dependency>
  <groupId>net.dreamlu</groupId>
  <artifactId>mica-mqtt-server-solon-plugin</artifactId>
  <version>${mica-mqtt.version}</version>
</dependency>

配置详见mica-mqtt-server-solon-plugin 使用文档[6]

6.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 使用文档[7]服务端:

<dependency>
  <groupId>net.dreamlu</groupId>
  <artifactId>mica-mqtt-server-jfinal-plugin</artifactId>
  <version>${mica-mqtt.version}</version>
</dependency>

配置详见mica-mqtt-server-jfinal-plugin 使用文档[8]

6.4 其他 Java 项目

客户端

<dependency>
  <groupId>net.dreamlu</groupId>
  <artifactId>mica-mqtt-client</artifactId>
  <version>${mica-mqtt.version}</version>
</dependency>

配置详见mica-mqtt-client 使用文档[9]服务端

<dependency>
  <groupId>net.dreamlu</groupId>
  <artifactId>mica-mqtt-server</artifactId>
  <version>${mica-mqtt.version}</version>
</dependency>

配置详见mica-mqtt-server 使用文档[10]

七、文档

  • mqtt科普、mqttx、mica-mqtt的使用**视频**[11]
  • mica-mqtt 示例、快速开始[12]
  • mica-mqtt 使用常见问题汇总[13]
  • mica-mqtt 发行版本[14]

八、最佳实践

mica-mqtt 2.3.4 发布,支持国产轻量级 Solon 框架演示地址:https://iot.javablade.com

参考资料
[1]

http api 文档详见: https://gitee.com/596392912/mica-mqtt/blob/master/docs/http-api.md

[2]

mica-mqtt-broker 模块: https://gitee.com/596392912/mica-mqtt/blob/master/mica-mqtt-broker

[3]

mica-mqtt-client-spring-boot-starter 使用文档: https://gitee.com/596392912/mica-mqtt/blob/master/starter/mica-mqtt-client-spring-boot-starter/README.md

[4]

mica-mqtt-server-spring-boot-starter 使用文档: https://gitee.com/596392912/mica-mqtt/blob/master/starter/mica-mqtt-server-spring-boot-starter/README.md

[5]

mica-mqtt-client-solon-plugin 使用文档: https://gitee.com/596392912/mica-mqtt/blob/master/starter/mica-mqtt-client-solon-plugin/README.md

[6]

mica-mqtt-server-solon-plugin 使用文档: https://gitee.com/596392912/mica-mqtt/blob/master/starter/mica-mqtt-server-solon-plugin/README.md

[7]

mica-mqtt-client-jfinal-plugin 使用文档: https://gitee.com/596392912/mica-mqtt/blob/master/starter/mica-mqtt-client-jfinal-plugin/README.md

[8]

mica-mqtt-server-jfinal-plugin 使用文档: https://gitee.com/596392912/mica-mqtt/blob/master/starter/mica-mqtt-server-jfinal-plugin/README.md

[9]

mica-mqtt-client 使用文档: https://gitee.com/596392912/mica-mqtt/blob/master/mica-mqtt-client/README.md

[10]

mica-mqtt-server 使用文档: https://gitee.com/596392912/mica-mqtt/blob/master/mica-mqtt-server/README.md

[11]

mqtt科普、mqttx、mica-mqtt的使用视频: https://www.bilibili.com/video/BV1wv4y1F7Av/

[12]

mica-mqtt 示例、快速开始: https://gitee.com/596392912/mica-mqtt/blob/master/example/README.md

[13]

mica-mqtt 使用常见问题汇总: https://gitee.com/596392912/mica-mqtt/issues/I45GO7

[14]

mica-mqtt 发行版本: https://gitee.com/596392912/mica-mqtt/blob/master/CHANGELOG.md


原文始发于微信公众号(JAVA架构日记):mica-mqtt 2.3.4 发布,支持国产轻量级 Solon 框架

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/298502.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!