异地多活系统设计
《搞懂异地多活,看这篇就够了》
http://kaito-kidd.com/2021/10/15/what-is-the-multi-site-high-availability-design
文章详细介绍了异地多活架构的核心思路和演进过程,从最简单的单机架构出发,逐步分析了如何通过冗余、灾备、双活等手段提升系统的可用性,最终实现异地多活的目标。此外还探讨了实现异地多活的关键技术点和挑战。
● 异地多活是分布式系统架构设计的高峰,旨在提升系统的高可用性和扩展性。
● 系统的高可用性由MTBF(平均故障间隔时间)和MTTR(平均故障恢复时间)决定,而冗余是提升可用性的核心手段。
● 单机架构存在单点故障风险,备份虽简单但无法满足高可用性要求。
● 主从副本通过实时同步提升数据完整性和抗故障能力,同时提高读性能。
● 同城灾备分为冷备和热备,热备通过实时同步和提前部署实现快速切换。
● 同城双活在同城灾备基础上进一步优化,两个机房同时接入流量,提高性能和可用性。
● 两地三中心通过异地部署机房实现城市级别灾害的容灾,但灾备机房启用需要时间。
● 真正的异地双活需要避免跨机房访问延迟,通过双主架构和数据双向同步实现「就近访问」和高可用性。
● 数据冲突是异地双活的核心挑战,可通过自动合并或从源头避免冲突来解决。
● 分片规则(按业务类型、哈希、地理位置)是实现异地双活的关键,确保同一用户请求在一个机房内完成闭环。
● 异地多活在异地双活基础上扩展多个机房,通过星状架构简化数据同步复杂度。
----------------------
作者还总结了一份各大公司异地多活设计的资料汇总:
https://www.yuque.com/kaito-djycs/kb/gw7kbw
#DevOps #Doc #Mark #RePost
source
《搞懂异地多活,看这篇就够了》
http://kaito-kidd.com/2021/10/15/what-is-the-multi-site-high-availability-design
文章详细介绍了异地多活架构的核心思路和演进过程,从最简单的单机架构出发,逐步分析了如何通过冗余、灾备、双活等手段提升系统的可用性,最终实现异地多活的目标。此外还探讨了实现异地多活的关键技术点和挑战。
● 异地多活是分布式系统架构设计的高峰,旨在提升系统的高可用性和扩展性。
● 系统的高可用性由MTBF(平均故障间隔时间)和MTTR(平均故障恢复时间)决定,而冗余是提升可用性的核心手段。
● 单机架构存在单点故障风险,备份虽简单但无法满足高可用性要求。
● 主从副本通过实时同步提升数据完整性和抗故障能力,同时提高读性能。
● 同城灾备分为冷备和热备,热备通过实时同步和提前部署实现快速切换。
● 同城双活在同城灾备基础上进一步优化,两个机房同时接入流量,提高性能和可用性。
● 两地三中心通过异地部署机房实现城市级别灾害的容灾,但灾备机房启用需要时间。
● 真正的异地双活需要避免跨机房访问延迟,通过双主架构和数据双向同步实现「就近访问」和高可用性。
● 数据冲突是异地双活的核心挑战,可通过自动合并或从源头避免冲突来解决。
● 分片规则(按业务类型、哈希、地理位置)是实现异地双活的关键,确保同一用户请求在一个机房内完成闭环。
● 异地多活在异地双活基础上扩展多个机房,通过星状架构简化数据同步复杂度。
----------------------
作者还总结了一份各大公司异地多活设计的资料汇总:
https://www.yuque.com/kaito-djycs/kb/gw7kbw
#DevOps #Doc #Mark #RePost
source