coremail 中文文档 下载 App

XT6 多活高可用架构 全模块多活与故障自恢复

为什么是多活不是主备

传统邮件系统通常采用主备架构:一台主服务器对外提供服务,一台备服务器处于待机状态。主服务器故障时,备服务器接管——但切换过程可能持续数十秒到数分钟,而且备服务器资源大部分时间闲置。

XT6 采用的是自研标准多活架构:两台(或多台)后端服务器同时对外提供服务,每台都处理一部分流量。任何一台故障,其他节点自动接管它的流量,切换时间接近零。故障节点修复后,自动重新加入集群。

多活架构的核心设计

全模块支持多活

XT6 的所有核心模块都支持多活部署:

这意味着不是"只有存储多活,其他模块还是单点",而是全链路没有单点故障。

同步机制

多活节点之间通过自研的同步协议保持数据一致性:

在网络分区(脑裂)场景下,XT6 通过仲裁机制保证数据一致性,不会出现"双写"或数据丢失。

异常场景覆盖

XT6 多活架构设计时考虑了几乎所有常见的故障场景:

故障场景系统行为恢复方式
单节点断电另一节点接管全部流量断电节点重启后自动回切
单节点进程崩溃健康检查自动摘除,另一节点接管进程自动拉起后重新注册
单节点网络断连自动判定为故障,流量走其他节点网络恢复后自动恢复
存储故障多节点存储副本自动切换故障节点存储修复后同步恢复
交换机故障上层路由自动切换到冗余链路交换机恢复后流量自动回切

业务连续性验证

在实际生产环境中,XT6 多活架构经历过多次真实故障考验:

多活 vs 集群 vs 分布式

很多人容易混淆这三个概念:

特性XT6 多活普通集群分布式
数据一致性强一致可能弱一致最终一致
故障切换近零延迟秒级延迟分钟级延迟
资源利用率100%50%(主备)可变
运维复杂度中等中等高
技术成熟度生产验证成熟取决于方案

XT6 的多活架构在数据强一致性、故障切换速度、资源利用率三个关键指标上都优于传统方案,是经过大规模生产验证的成熟技术。

与容灾的配合

多活解决的是单机房内高可用的问题。对于跨机房容灾(两地三中心)的需求,XT6 支持:

这种分层设计让 XT6 可以支撑从几百人的小机构到百万用户的大型集团,都能找到合适的高可用方案。