如何基于DNS进行二个机房的数据中心切换

假设有二个区域A和B,其中A为老平台,B为新平台,并且所有的业务都通过后台服务,不会发生直接操作数据的情况,其过程主要四个阶段:

1>全量备份A的数据到B的平台

2>二个数据中心同时进行写,然后比对新环境下和老环境的数据一致性

image

注意:

1)将从区域A中的数据都通过2-2转发到区域B的负载均衡设备上

2)数据比对服务要长时间跟踪二边数据的不一致,如果发生不一致,手动矫正,如果是程序的bug,进行修订

进行第三步的条件:二边的数据达到一致,并且在新增数据的情况下,仍然保持一致

3>更改dns服务到新地址,区域A只负责转发数据,区域B进行实际的业务处理

image

注意:

a)dns在全局的广播完成,需要一个时间,这个时间客户端有的请求到区域A,有的请求到区域B,要有一段时间才可以将DNS全部更新到各个节点,大概数小时以上

b)需要监控从区域A接入的数据的数量

进行第四步的条件:区域A已经接收不到数据

4>将区域A的服务都进行停止,到此,数据中心切换完成

从CAP中的P的角度来分析下切换过程:

image

分析:

a)步骤一开始的状态为S,然后区域A和区域B各自进入自己的状态,如果在步骤2中针对分区A的操作有直接数据库的操作,没有转移到区域B中,那么二边的数据会不一致,如果出现这种情况,要自动恢复的话,设计上有一个前提是变化的数据可以很容易的从区域A中抽出来,这样就比较方便的进行手动或者人工的分区合并

b)步骤3主要是为了容忍网络环境下DNS更新到一致性必须需要一个较长的时间

总结:切换的过程还是有很多细节上的注意事项,但是大体流程异常。如果有直接操作数据库的业务,那么方案可能更加复杂一些,后续补充。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小她爹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值