架构设计(异地多活)


架构设计(异地多活)

               

                       

                            

同城灾备

       

同城灾备:同一个城市不同地方部署多个机房,一个机房对外服务,另一个机房备份数据

同城冷备:a机房对外服务,b机房定时备份数据

同城热备:a机房对外服务,b机房实时备份数据

          

同城冷备:定时备份数据库文件,如果来不及备份,数据存在丢失风险

               

         

同城热备:实时备份数据库文件,相比冷备,数据不存在丢失风险

               

                

                 

                            

同城双活

     

同城双活

# 解决单点故障
同城灾备:只是备份了数据,当提供服务的机房故障后,服务不可用,存在单点故障;
同城双活:另外一个机房除了备份数据,也可处理部分流量,
         当一个机房故障后,另一个机房可继续提供服务

# b机房分流
b机房部署接入层、应用层,使用DNS负载均衡将部分流量切换到b机房;

# 数据库
a机房:所有的写入数据操作在a机房执行,a机房本地也做备份
b机房:数据库为从库,实时同步a机房数据,
      当a机房故障后,b机房数据库转换为主库

                

           

                

                            

两地三中心

   

两地三中心

同城双活:在某城市部署两个机房,同城双活,对外提供服务
异地数据备份:在异地部署机房(位置相距1000km以上),定期做数据备份,防止数据丢失

                

          

                     

                            

异地多活

   

异地多活

# 同城双活问题
当城市大面积停电、地震、火灾发生时,可能导致同一个城市的两个机房都不可用;
将机房部署在相距较远(距离1000km以上)的两个城市,同时对外服务,就可规避这个问题

# 延时问题处理
如果另一个机房都是从库,由于距离较长,数据同步会存在比较大的延时
将另一个机房也做主从部署,两个机房之间定时同步数据(需要使用中间件同步)

# 数据同步问题
如果用户写入同一条数据,一次在a机房,另一次在b机房,
数据同步的时候先后顺序很难区分,容易导致数据冲突,
可在DNS后接入路由层,将流量按照异地规则分流,避免数据冲突

# 路由层流量分流
根据用户分流:部分用户固定转发到a机房、部分用户固定转发到b机房
根据业务分流:a机房固定处理某些业务,b机房固定处理另一部分业务,需要注意业务的跨机房调用问题
根据距离分流:靠近a机房近的用户分到a机房,靠近b机房近的分到b机房

                

          

                

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值