🚀 Changelog (0.15.0-beta.4 ~ 0.15.0-rc.5)
✨ 新特性
-
Proxy Protocol 支持
rmqtt-net
新增 Proxy Protocol 支持(rc.5)。
-
Session 管理
- 新增配置项
max_session_expiry_interval
,用于限制 Session 最大过期时间。
- 新增配置项
-
Listener 改进
- 新增
ListenerId
,支持基于 ID 而非端口的监听。
- 新增
-
HTTP API
- 所有路由统一加上
/api/v1
前缀。 - 健康检查 API 与 Prometheus 指标增强。
- 所有路由统一加上
-
集群 gRPC
-
支持基于 流式(streaming) 的消息转发。
-
新增并发与超时配置:
worker_threads
node_grpc_batch_size
node_grpc_client_concurrency_limit
node_grpc_client_timeout
-
🛠️ 插件与存储
-
插件系统
- 新增
register_named()
,支持显式命名插件注册。 - 移除全局 HTTP 客户端与
once_cell
,Webhook / Auth-HTTP 插件改为实例化管理。
- 新增
-
Storage 模块化
- 存储后端(ram、sled、redis)模块化,通过 feature 选择。
- Retainer 与 Message Storage 配置更灵活,错误处理与日志增强。
-
Bridge 插件
- 修复 bridge-egress 与 bridge-ingress 在 MQTT v4/v5 下的错误处理逻辑,移除
unreachable!()
,改为显式错误返回并记录日志。
- 修复 bridge-egress 与 bridge-ingress 在 MQTT v4/v5 下的错误处理逻辑,移除
⚡ 核心框架与执行器
-
执行器重构
- 引入
DuplexMailbox
API,统一异步消息传递接口。 - 拆分任务执行器为 Server Executor 与 Client Executor,增强隔离性。
- 移除全局执行队列,改为实例级管理(TaskExecQueue)。
- 引入
-
Session Storage
- 后台任务化存储操作,提升并发性能。
- 增加统计指标与超时保护。
- 优化错误处理与日志记录。
🔗 集群与网络
-
Raft 升级
- 升级至 raft v0.5.x:支持异步快照生成、并行优化、压缩逻辑改进。
- 健康检查 API 改进,支持 JSON 输出,并通过
is_running
判断状态。 - 移除全局退避策略,改为实例化
ExponentialBackoff
。
-
Cluster Plugins
cluster-broadcast
与cluster-raft
移除全局状态(once_cell)。- 优化订阅同步、错误处理与日志记录。
⚙️ 配置与运维
- 插件初始化支持 config map。
- Dockerfile 改进:
ENTRYPOINT
支持运行时传参。 - 构建配置启用
panic=abort
。 - 日志清理与优化,覆盖集群、存储、网络模块。
🛡️ 稳定性与错误处理
- 系统范围内减少
panic!
,统一改为显式错误返回。 - handshake 模块增加超时控制。
- 并发控制逻辑统一,线程管理更清晰。
- cluster、executor、storage、bridge 等模块增强错误日志与重试机制。
📚 文档与可观测性
- 文档 Rust 版本更新至 1.85.0。
- 更新
cluster-raft.md
,增加 raft 配置说明。 - README 新增 DeepWiki 支持徽章。
- 完善版本号引用与插件配置文档。
更新完整列表,请参阅 RMQTT Release Notes
Github: https://github.com/rmqtt/rmqtt
Ext Link: https://github.com/rmqtt/rmqtt
1
共 0 条评论, 1 页
评论区
写评论还没有评论