EMQX Enterprise 5.7.0 版本现已正式发布!
在这个版本中,我们引入了一系列新的功能和改进,包括会话持久化、消息 Schema 验证、规则引擎调试与追踪测试等功能。此外,新版本还进行了多项改进以及 BUG 修复,进一步提升了整体性能和稳定性。
会话持久化
EMQX 内置的会话持久化(Durable Session)功能提供了强大的持久性和高可用性。该功能允许将 MQTT 持久会话(Persistent Session)及其消息存储到磁盘上,并在 EMQX 集群的多个节点之间持续复制会话元数据和 MQTT 消息。
该功能具备灵活的配置参数,通过配置复制因子,用户可以自定义每条消息或会话的副本数量,从而在持久性和性能之间实现平衡。
与内存存储相比,将 MQTT 消息存储在共享的、复制的持久存储中,可以降低在线和离线会话的内存使用量,支持更大规模的会话和消息处理。会话持久化功能还实现了有效的故障转移和恢复机制,确保服务的连续性和高可用性,从而提高系统的可靠性。
消息 Schema 验证
EMQX 内置了 Schema 验证功能,用于验证 MQTT 消息的结构和格式,对于不符合格式的消息可以丢弃或断开其客户端连接,并打印日志和触发规则引擎事件以方便用户进行进一步的处理。
Schema 验证可使用 JSON Schema、Protobuf 和 Avro 等多种格式的模式,或使用内置的 SQL 语句验证来自指定主题的消息格式。通过据格式校验,可以及早发现并屏蔽这些不合规消息,保证系统稳定可靠。
除了验证外,同一份 Schema 还能用于 EMQX 规则引擎的 Schema 编解码和 Schema 检查功能,以及外部数据系统和业务流程中,帮助用户实现:
- 数据完整性:验证 MQTT 消息的结构和格式,以确保数据的一致性和正确性。
- 数据质量:强制执行数据质量,检查缺失或无效的字段、数据类型和格式,可以确保数据的质量和一致性。
- 统一的数据模型:确保整个团队和项目中使用统一的数据模型,减少数据不一致和错误。
- 重用和共享:允许团队成员重用和共享