【分布式】异地多活

异地多活是一种分布式系统架构,旨在提高服务的高可用性。本文探讨了两地三中心和异地多活的架构,包括其优缺点、实施难点和解决方案。重点介绍了如何通过业务划分、数据划分和流量路由来解决延时、数据一致性等问题,以实现单元化和数据同步。案例分析展示了实际操作中的策略,如服务划分、流量路由、数据复制和切换保护,以确保系统的稳定运行。
摘要由CSDN通过智能技术生成

  常见的多活方案有同城双活、两地三中心、三地五中心、异地多活等,异地多活是目前比较普遍的一种。作为一种分布式系统架构,其核心目的是维护系统的的高可用性。那既然要提高容灾,一定涉及到冗余。

两地三中心

  • 两地:本地 + 异地
  • 三中心:本地主数据中心 + 本地数据备份中心 + 异地数据备份中心

  两地三中心是一种成熟的服务器灾备解决方案,可以视为同城双活+异地多活。数据中心间存在三种备份方式,前两种统称为主备模式(Active-Standby):

  1. 热备:服务器A1作为主服务器承担业务,服务器A2作为备份服务器,实时从A1中获取数据保持数据一致。一旦A1熄火,A2立即接手保持服务正常不间断运行。由于时刻有一个A2空转作为备份,因此开销巨大。
  2. 冷备:依旧只有A1承担业务,只不过A2不再时刻保持数据一致,而是周期性地同步A1数据,即异步数据复制。实际上是在A1完成所有服务、离开工作状态、数据库关闭后进行复制,这确实可以避免复制过程中写入数据导致的一致性问题,并且直接用系统的指令去复制,很简单。A1瘫痪,来不及拷贝的业务直接中断,在业务层上判断和处理故障。但是冷备的问题是,在异地采取冷备,一旦遇到故障,很难决定是否要切换备份中心。因为连接到备份中心的时间未知(不知道能不能切换过去),备份中心接管服务的时间未知,接管后功能是否正常也未知。并且冷备基本上就是备份全站,成本并没有比热备低很多。
  3. 双活(Active-Active):这种方式对服务器的利用率最高。A1和A2同时承担业务,作为主服务器的A1负载相对高一点(可能达到总体服务量的六成到七成)。并且A1和A2互相备份,且实时备份。双活分为两种,同城双活异地双活

  两地三中心的优势很明显,服务同城双活,数据通城灾备,通信便捷,很多异地多活里棘手的问题(时延、同步、一致性)在同城双活中根本不叫问题。但是同城双活的问题就是数据库写数据存在跨机房调用
  同城双活+异地双活的架构解决了同城双活无法解决的跨地区容灾问题。异地的备份中心可以是冷的,也可以是活的,但是也解决不了跨机房调用,并且异地的话没有骨干网,延迟是很大的,因此很多情况下是冷的。并且这也带来冷备的问题:出了问题很难决定要不要把流量切刀备份中心。

异地多活

  说到底,这个架构仍旧是一个分布式架构,那就不可避免地需要面临分布式架构的三大问题:计算、存储、通信。而实际案例中,往往更关注存储和通信两部分。解决整个系统的问题,其实主要涉及两个部分:业务划分数据划分。所谓业务划分,就是把一套核心业务包装成一个单元,单元内部需要保证高度的一致性。而数据划分则是对所有的数据进行维度上的划分,去选择一个维度作为我们所设计的单元的输入
  因此,双活架构在两个机房的调用是各自封闭的,不存在跨机调用的情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值