Skip to content

设计与实现

本节将介绍 EMQX 的实现原理和技术架构,目前包括以下主题:

  • EMQX 集群

    基准测试结果表明,EMQX 在单节点上即可展现出卓越的性能,能够支持数百万级连接。然而,为了保障系统的可靠性和高可用性,EMQX 需要通过组建集群来实现横向扩展。本章将探讨 MQTT Broker 集群化过程中面临的复杂问题,以及 EMQX 如何在设计上应对这些挑战。

  • 飞行窗口和消息队列

    为了提高消息吞吐效率和减少网络波动带来的影响,EMQX 允许多个未确认的 QoS 1 和 QoS 2 报文同时存在于网路链路上。这些已发送但未确认的报文将被存放在飞行窗口(Inflight Window)中直至完成确认。但当飞行窗口到达长度限制时,EMQX 将不再发送后续的报文,而是将这些报文存储在消息队列(Message Queue)中。本节将介绍相关的技术原理与配置项信息。

  • 消息重传

    消息重传 (Message Retransmission) 是属于 MQTT 协议标准规范的一部分。本节将介绍消息重传的基础配置,协议规范与设计。

  • 持久存储

    持久存储为 EMQX 中的 MQTT 数据提供高可靠性的持久化基础。本页将介绍持久存储的设计,包括其存储架构、数据分区模型、复制策略、配额控制以及读写路径。这些机制共同保障了集群范围内消息存储、消息回放以及数据一致性。

更多主题正在持续上线中,敬请期待。