储存高可用架构

clipboard.png

1、双机高可用

一、主备方式

主机和备机双方只须要进行数据复制便可,无须进行状态判断和主备切换这类复杂的操做面试

应用场景:内部的后台管理系统mongodb

二、主从复制

从机须要提供读操做,须要考虑主从复制延迟、客户端感知主从关系等问题服务器

应用场景:写少读多的新闻网站架构

三、双机切换

设计要点:

​ 1)主备间的状态传递的内容 和渠道分布式

​ 2)切换时机和切换策略微服务

​ 3)如何解决数据冲突学习

常见架构

1)互联式 网站

​ 主备机直接创建状态传递的渠道spa

​ 设计须知:通道故障问题比较难处理设计

2)模拟式

​ 备机模拟成客户端,根据读写操做的响应状况来判断主机状态

​ 设计须知:判断有限,可能出现双主

3)中阶式

​ 引入zookeeper 或keepalived 这样的第三方中介,主备上报状态到中介,中介最终决策 ,例如mongodb

​ 设计须知: 必须保证中介的高可用

图片描述

四、主主复制

两台服务器都是主机,相互之间复制,客户端任意选择读写

设计须知:不适用注册,库存等数据

2、集群高可用

一、数据集中集群

设计要点:

​ 1)主机如何将数据复制给备机

​ 消息队列同步、 备机相互复制

​ 2)备机如何检测主机状态

​ 经过中介zookeeper等

​ 3) 主机故障后,如何选择新主机

​ 经过中介zookeeper等

适用场景:数据量不大,集群机器数量很少,例如zookeeper集群

二、数据分散集群

设计要点:

​ 1)均衡性

​ 2) 容错性

​ 3) 可伸缩性

适用场景: 数据量巨大,集群机器数量庞大,例如 hbase集群、Elasticsearch集群、gossip协议集群

3、分区高可用

不一样分区处于不一样地理位置,每一个分区储存一部分数据,下降故障影响比例

设计要点

1)分区规则

国家间的分区仅用于数据备份,城市分区用于解决业务上的异地多活

2)数据量

数据量越大,设计复杂越大

3)复制规则

集中式: 备份储存在总的备份中心

互备式:每一个分区随机储存另一个分区的备份数据

独立式:每一个分区有本身独立的备份中心,规则已提早指定好

限时分享面试&学习福利资源

好资料第一时间分享,中华石杉老师的分布式面试突击视频教程,最清晰总体的微服务全面解读的PDF,体系化的Java路线资料整理的Github,亿级电商架构的视频实战课程,你值得拥有

获取方式: 关注公众号乔志勇笔记, 后台回复"学习资料" !!

图片描述

图片描述

相关文章
相关标签/搜索