🎉 smart-mqtt v1.5.0:仅需淘汰 netty,便可实现企业版软件包瘦身57%
继 v1.4.0 版本成功将开源版发行包体积从 3MB 优化至不足 800KB 后,我们很高兴地宣布 smart-mqtt v1.5.0 正式发布!
本次版本专注于企业版的深度优化,实现了前所未有的软件包瘦身效果,同时增强了系统稳定性和企业级特性:
- 企业版极致瘦身:完整软件包从 29.3MB 下降至 12.6MB,减少约 57%
- 核心组件重构:自研 Redis 客户端框架 Redisun,使 redis 桥接插件从 15.5MB 降至 81KB
- 稳定性提升:多项功能修复和插件优化,提升企业级部署体验
一、核心亮点
企业版极致瘦身:29.3MB → 12.6MB
通过深入分析企业版软件包构成,我们识别出 redis 桥接插件是体积膨胀的主要原因。经过专项优化:
- 体积减少 57%:企业版完整软件包从 29.3MB 大幅缩减至 12.6MB
- 核心优化:redis 桥接插件从 15.5MB 降至 81KB,减少 99.5%
- 技术突破:自主研发 Redis 客户端框架
Redisun替代 redisson 依赖 - 部署优化:更小的包体积带来更快的下载、部署和启动速度
关于 Redisun
作为一款追求极致轻量的开源产品,倘若还存在 netty 依赖,在现实意义上它就是“臃肿”的。 为了解决 redis 桥接插件体积过大的问题,我们基于 smart-socket 框架自主研发了轻量级 Redis 客户端框架 Redisun:
- 超轻量设计: jar 包仅
68KB,仅依赖 smart-socket,资源占用极小 - 高性能:
远超redisson 的性能表现 - 通用性强:不仅适用于 MQTT 桥接场景,也可广泛应用于其他需要 Redis 客户端的场景
- 开源共享:Redisun 已作为独立开源项目发布,采用 Apache 协议开源,相关文档已上线
参考材料:
- Gitee: https://gitee.com/smartboot/redisun
- 文档:https://smartboot.tech/redisun
- 性能测试报告:https://smartboot.tech/redisun/guides/benchmark/
其他优化详情
- 解决了在特定场景下通配符订阅不生效的问题
- feat 升级至 1.3.2:引入新的特性和改进,提升微服务治理能力
- smart-socket 升级至 1.7.5:底层通信框架更新,增强网络通信稳定性
- 通过优化类加载极致,提升
smart-mqtt-maven-plugin插件的本地启动速度
二、定价策略调整预告
为了更好地服务于广大用户,我们一直在关注和收集各种定价模式的反馈。经过深入分析和实际检验,我们发现:
基于客户端连接量进行分级定价的策略在实际应用场景中缺乏足够的价值区分度,未能有效反映用户的实际使用需求。
因此,我们决定:
自 2026 年起,将终止基于客户端连接量的分级定价方案
新的定价策略将更加注重功能价值和服务质量,致力于为各类规模的企业用户提供更合理、更透明的价格体系。具体的全新定价方案将在后续公布,敬请期待。
三、版本升级指南
- 备份现有配置:如有自定义配置请提前备份
- 下载新版本:获取 v1.5.0 发行包
- 验证插件功能:在测试环境验证各插件功能正常
- 部署上线:正式环境部署并监控运行状态
四、技术指标对比
| 指标 | v1.4.0 企业版 | v1.5.0 企业版 | 改进幅度 |
|---|---|---|---|
| 完整软件包体积 | 29.3MB | 12.6MB | 57% |
| redis 桥接插件 | 15.5MB | 81KB | 99.5% |
| 配置方式 | 环境变量/系统属性 | 环境变量/系统属性 | 无变化 |
| 核心依赖 | redisson | Redisun | 更轻量 |
五、获取 v1.5.0
下载地址
- GitHub Releases: https://github.com/smartboot/smart-mqtt/releases/tag/v1.5.0
- Gitee Releases: https://gitee.com/smartboot/smart-mqtt/releases/v1.5.0
Docker 部署
docker run --name smart-mqtt \
-p 1883:1883 \
-p 8083:8083 \
-d smartboot/smart-mqtt:1.5.0
快速启动
# 1. 下载发行包
wget https://github.com/smartboot/smart-mqtt/releases/download/v1.5.0/smart-mqtt-1.5.0.jar
# 2. 创建启动脚本 start.sh
cat > start.sh << 'EOF'
#!/bin/bash
dir=$(dirname "$0")
export SMART_MQTT_PLUGINS=${dir}/plugins
export BROKER_PORT=1883
export BROKER_HOST="0.0.0.0"
export BROKER_MAXPACKETSIZE=8192
java -jar smart-mqtt-1.5.0.jar
EOF
# 3. 授权并运行
chmod +x start.sh
./start.sh
六、未来展望
基于 v1.5.0 的架构改进和优化成果,我们将继续推进以下方向:
- 性能持续优化:深入挖掘系统性能潜力,探索更多优化空间
- 云原生深化:进一步增强 Kubernetes 集群部署和管理能力
- 可观测性增强:完善 Metrics、Tracing、Logging 体系,提升运维效率
- 插件生态扩展:丰富企业级功能插件,满足多样化业务需求
- 安全加固:加强身份认证和权限控制,保障系统安全
七、加入社区
欢迎所有对 MQTT、物联网技术、开源软件感兴趣的朋友加入我们的社区!
为了更好地维护社区秩序和技术支持体系,我们做了如下调整:
- 所有项目交流请优先使用 https://gitee.com/smartboot/smart-mqtt/issues 进行,我们鼓励社区成员互相帮助,共同解决问题
- 仅面向已授权企业提供 1 对 1 微信技术支持服务。
社区资源
- 官方文档:https://smartboot.tech/smart-mqtt
- GitHub 仓库:https://github.com/smartboot/smart-mqtt
- Gitee 仓库:https://gitee.com/smartboot/smart-mqtt
smart-mqtt v1.5.0:更轻量、更稳定、更企业级 为物联网应用打造新一代云原生消息中间件解决方案
