在单元化部署中,当某个单元出现故障需要将流量切换到其他单元时,数据库层面的流量切换和数据支持主要通过以下步骤实现:
1. 数据库副本提升
在单元化架构中,每个数据分片通常在多个单元中存在副本。当某个单元(如 RZone1)出现故障时,需要将该单元对应的数据分片的副本提升为主副本。例如:
2. 流量切换
在数据库副本提升完成后,流量切换开始生效:
3. 增量数据同步
在流量切换过程中,为了确保数据一致性,需要同步故障单元在故障发生后产生的增量数据:
4. 数据一致性校验
在流量切换完成后,进行数据一致性校验,确保故障单元的数据与新主副本的数据一致。
5. 流量切换顺序
流量切换的顺序至关重要:
6. 容灾预案
整个切换流程通常以预案形式提前配置好,并推送给流量切换客户端(集成在服务和 Spanner 中),以便在故障发生时快速执行。
总结
通过数据库副本提升、流量路由调整、增量数据同步和数据一致性校验,蚂蚁集团的 LDC 架构能够在单元化部署中高效地完成流量切换,确保数据一致性和系统稳定性。这一过程不仅支持同城容灾,还支持异地容灾,实现了 RPO=0 和 RTO<1min 的高可用性目标。