# 设计与实现

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

- [EMQX 集群](./clustering.md)

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

- [飞行窗口和消息队列](./inflight-window-and-message-queue.md)

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

- [消息重传](./retransmission.md)

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

- [持久存储](./durable-storage.md)

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

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