内容简介:主机和备机双方只需要进行数据复制即可,无须进行状态判断和主备切换这类复杂的操作
一、双机高可用
1、主备方式
主机和备机双方只需要进行数据复制即可,无须进行状态判断和主备切换这类复杂的操作
应用场景:内部的后台管理系统
2、主从复制
从机需要提供读操作,需要考虑主从复制延迟、客户端感知主从关系等问题
应用场景:写少读多的新闻网站
3、双机切换
设计要点:
1)主备间的状态传递的内容 和渠道
2)切换时机和切换策略
3)如何解决数据冲突
常见架构
1)互联式
主备机直接建立状态传递的渠道
设计须知:通道故障问题比较难处理
2)模拟式
备机模拟成客户端,根据读写操作的响应情况来判断主机状态
设计须知:判断有限,可能出现双主
3)中阶式
引入zookeeper 或keepalived 这样的第三方中介,主备上报状态到中介,中介最终决策 ,例如mongodb
设计须知: 必须保证中介的高可用
4、主主复制
两台服务器都是主机,相互之间复制,客户端任意选择读写
设计须知:不适用注册,库存等数据
二、集群高可用
1、数据集中集群
设计要点:
1)主机如何将数据复制给备机
消息队列同步、 备机相互复制
2)备机如何检测主机状态
通过中介zookeeper等
3) 主机故障后,如何选择新主机
通过中介zookeeper等
适用场景:数据量不大,集群机器数量不多,例如zookeeper集群
2、数据分散集群
设计要点:
1)均衡性
2) 容错性
3) 可伸缩性
适用场景: 数据量巨大,集群机器数量庞大,例如 hbase集群、Elasticsearch集群、gossip协议集群
三、分区高可用
不同分区处于不同地理位置,每个分区储存一部分数据,降低故障影响比例
设计要点
1)分区规则
国家间的分区仅用于数据备份,城市分区用于解决业务上的异地多活
2)数据量
数据量越大,设计复杂越大
3)复制规则
集中式: 备份储存在总的备份中心
互备式:每个分区随机储存另外一个分区的备份数据
独立式:每个分区有自己独立的备份中心,规则已提前指定好
限时分享面试&学习福利资源
好资料第一时间分享,中华石杉老师的 分布式面试突击 视频教程,最清晰整体的 微服务全面解读 的PDF, 体系化的 Java 路线 资料整理的Github, 亿级电商架构 的视频实战课程,你值得拥有
获取方式: 关注公众号 乔志勇笔记 , 后台回复"学习资料" !!
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。