目录
容灾
容灾就是对灾难(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
领先业界好多年
整体架构:
美团、头条、微博等大型互联网公司也都相继实现了异地多活
说点什么
您将是第一位评论人!