Welcome everyone

多活理论

分布式 汪明鑫 33浏览 0评论

容灾

容灾就是对灾难(disater)的容忍能力,即在灾难袭来时,能够保证信息系统正常运行而采取的措施,以实现业务连续性为目标。

容灾的实现通常都涉及到冗余,比如做最简单的主备。

 

天灾人祸都会影响服务可用性

 

容灾的不同层级

 

  • 数据级容灾: 数据备份,如建立异地容灾中心做数据远程备份(只备份数据,没有备用系统可切换)
  • 应用级容灾: 在数据容灾基础上构建一套功能相同的系统,可做系统切换。
  • 业务级容灾:在应用容灾基础上,增加了IT系统以外的容灾。如备用办公地点,系统相关文档等。

 

容灾的评价指标

 

 

理想化解决方案

 

容灾方案的演进

 

 

两地三中心

 

 

异地多活

概念:

多个异地站点同时对外提供服务

避免地区性灾难造成服务不可用

 

核心:

数据同步是异地多活的核心

 

理解:

优先实现核心业务的异地多活

并不是所有数据和所有业务都实现异地多活

 

同城多活 VS 异地多活

 

减小数据不一致带来的影响

  • 尽量减少异地多活机房的距离,搭建高速网络;
  • 尽量减少数据同步;
  • 保证最终一致性,不保证实时一致性;

 

 

饿了么异地多活

整体架构:

 

流量进入API Router ,带有shardingkey (shardingkey 是一些业务属性,如shopid,cityid,位置等)

shardingkey经由GZS解析得到shardid

shardid路由到ezone

一笔订单在一个ezone中完成

 

通过DRC 实现双向复制

 

一个shardid可能为1个城市或多个城市,所有的shardid经由大数据计算分成两大zone,北京和上海

 

当发生大范围业务故障,可以采用切流量,比如把原本属于北京的shard切到上海

即是改变shardid到ezone之间的映射关系。

 

未来可能扩展到3-4个机房

 

 

阿里异地多活

阿里异地多活走了三年 2013-2015

领先业界好多年

 

整体架构:

 

 

美团、头条、微博等大型互联网公司也都相继实现了异地多活

 

转载请注明:汪明鑫的个人博客 » 多活理论

喜欢 (0)

说点什么

您将是第一位评论人!

提醒
avatar
wpDiscuz