了解高可用

  图片来自网络


高可用定义

“高可用性”(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。 设计系统的可用性,最重要的是满足用户的需求。系统的失败只有当其导致服务的失效性足以影响到系统用户的需求时才会影响其可用性的指标。

工作方式

1. 主备复制

主备复制中的备表示备份,主机负责读写操作, 备机只负责数据备份,不负责读写

1)主机存储数据,通过复制通道将数据复制到备机

2)客户端访问主机读写数据, 并不直接访问备机

3)主机异常不能恢复, 人工将备机升级为主机, 然后客户端访问新的主机。同时增加新备机

优点:

  • 对于主机和备机,双方只需要进行数据复制
  • 几乎所有存储系统都提供了主备复制的功能

缺点:

  • 备机仅仅只是用于备份,并没有读写操作,硬件成本有些浪费
  • 主备间延迟比较多,主机又宕机则可能数据丢失
  • 故障后需要人工干预,无法自动恢复

2.主从复制

主从复制中的从意思为随从或者仆从,从承担读的操作;主机负责读写操作,从机只负责读

优点:

  • 主从复制在主机故障时,读操作相关业务不受影响
  • 与主备相比,从机负责提供读操作, 发挥了硬件的性能

缺点

  • 主从复制更加复杂一些,主要体现在客户端需要感知主从关系,并将不同的操作发给不同的机器
  • 主从间数据延迟,会出现主从读取的数据不一致的问题
  • 主从间延迟比较多,主机又宕机则可能数据丢失
  • 故障后需要人工干预,无法自动恢复

3.主备倒换

主备复制和主从复制存在两个共同问题。主机故障后,无法进行写操作;主机无法恢复,需要人工指定新的主机角色。为了解决这两个问题在原有的设计方案基础上增加了“倒换”功能,主备倒换或者主从倒换。让系统自动决定主角色并完成切换。常见的主备倒换架构有三种,互链式,中介式和模拟式

互链式

中介式

优点:

链接更简单。降低了主备机连接管理复杂度

状态角色更简单,只需要简单算法就可以完成决策

MongoDB采用的就是此种方式,虽然中介式架构在状态传递和状态决策上更简单。但如果中介自己宕机了整个系统就进入了双备状态,写相关业务就不可用。因此中介本身又要求高可用。幸运的是开源方案已经有很成熟的解决方案,比如ZooKeeper. 他是 A爬车Hadoop的一个子项目。主要用于来解决分布式应用遇到的数据管理问题。Zookeeper本身就是一个高可用的系统。

4.主主复制

优点:

  • 两台都是主机,不存在倒换概念
  • 客户端无续区分不同角色,随便将读写操作发送给那台都可以

    主主复制架构对数据的设计有严格要求,一般适合临时性可丢失,可覆盖的场景,例如登录产生的session ,用户行为日志,论坛草稿数据等

5.数据集群

衡量高可用

一般公司至少实现2个9,大厂一般要求4个9

级别系统可用性宕机(年)宕机(月)宕机(周)宕机(天)
不可用90%36.5天73小时16.8小时144分钟
基本可用99%87.6小时7.3小时1.68小时14.4分钟
较高可用99.9%8.76小时43.8分钟10.1分钟1.44分钟
高可用99.99%52.56分钟4.38分钟1.01分钟8.64秒
极高可用99.999%5.26分钟26.28秒6.06秒0.86秒

网上资料


上一篇:了解负载均衡


参考资料:《从零开始学架构》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

=PNZ=BeijingL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值