MQTT 协议标准要求 MQTT Broker 需具备存储离线客户端消息的能力。之前版本的 EMQX 开源版采用了基于内存的会话存储,企业版则在此基础上进一步提供了外部数据库存储方案,借此实现数据持久化。
自 EMQX 5.x 时代起,EMQX 将引入 RocksDB,以实现原生的持久会话能力。
RocksDB 是一款嵌入式的持久键值存储引擎,它具有高写入吞吐量,支持预写日志、范围扫描和键前缀搜索等特性,引入 RocksDB 的 EMQX 将为用户带来更加高效稳定的会话持久化能力,方便用户不受限制、更低成本的使用 MQTT 特性。
在 8 月 2 日 晚 8 点的 「EMQX 5.0 产品解读系列直播第三期」中,EMQX 产品经理李国伟对正在开发中的基于 RocksDB 实现原生会话持久化进行抢鲜技术分享,同时与大家共同探讨针对 RocksDB 持久化能力的更多扩展新功能探索,如扩展 MQTT 协议以支持类似 Kafka 的「消息重放」功能,允许订阅者获取会话创建前某个主题中的消息等。
下载演讲 PPT 完整版,您可了解到:
- MQTT 消息持久化概念与 RocksDB 简介
- Why RocksDB:RocksDB 有何优势
- 数据的「来龙去脉」:RocksDB 持久化工作流程解析
- 更多可能:持久化功能扩展探讨