计算高可用架构

作者: 短暂瞬间 | 来源:发表于2019-03-06 22:14 被阅读1次

第77篇

极客时间《从0开始学架构》课程笔记。

什么是计算高可用

本质:通过冗余来规避部分故障的风险
设计思想:通过增加更多服务器达到计算高可用
设计复杂度:任务管理,即失败后如何重新分配任务
设计关键点:哪些服务器可以执行任务;任务如何重新执行。

常见计算高可用架构

常见的计算高可用架构有3种:主备、主从和集群。主备又分为冷备和温备;集群分为对称集群和非对称集群。

1、主备

主备架构

详细设计:

  • 主机执行所有计算任务
  • 主机故障时任务分配器不会自动分配任务给备机,此时备机不可用
  • 主机若能恢复,任务分配器将任务发给主机
  • 主机不能恢复时,人工操作将备机升为主机,任务分配器将任务给新的主机
  • 人工增加新奇迹作为备机
  • 根据备机状态不同,可分为冷备架构和温备架构,一般推荐温备

优点:实现简单,主备机不需要进行交互,状态判断和切换操作都由人工执行
缺点:人工操作时间不可控,操作效率较低,容易出错
适用场景:内部管理系统、后台管理系统这类使用人数不多、使用频率不高的业务,不太适合在线业务

2、主从

主从架构

详细设计:

  • 正常情况下,主机备机分别执行部分计算任务
  • 当主机故障时,任务分配器继续分配任务发给主机,不管任务执行是否成功
  • 如果主机能恢复,继续按照原有设计策略分配任务
  • 如果主机不能恢复,需要人工操作,修改配置将原来的从机升级为主机
  • 增加新的机器作为从机,任务分配器继续按照原有设计策略分配任务

优点:从机也在执行任务,发挥了从机的硬件性能
缺点:需要对计算任务进行分类,任务分配器更为复杂

3、集群

主备或主从架构的问题:需要人工操作、效率低、容易出错、不能及时处理故障
高可用集群方案就是为了实现自动完成切换操作。
根据服务器节点角色不同,分为对称集群和非对称集群两类。
与存储高可用不一样,计算高可用集群包括2台服务器的集群。

对称集群

定义:集群中每个服务器的角色都是一样的,都可以执行所有任务,也叫负载均衡集群

负载均衡集群

详细设计:

  • 正常情况下,任务分配器采取某种策略分配计算任务
  • 当集群中某台服务器故障时,任务分配器将任务分配给其他服务器
  • 故障服务器恢复后,任务分配器重新分配任务给它

设计关键点:

  • 任务分配器需要选取分配策略、需要检测服务器状态
  • 任务分配策略一般选择轮询或随机
  • 状态检测需要检测服务器状态和任务执行状态,不同业务场景的状态判断条件差异很大,实际设计时要根据业务需求来进行设计和调优

非对称集群

定义:集群中的服务器分为多个不同的角色,不同的角色执行不同的任务,例如最常见的 Master-Slave 角色

非对称集群

详细设计:

  • 集群通过某种方式区分不同服务器的角色,如ZAB算法选举
  • 任务分配器将不同任务分发给不同服务器
  • 当指定类型的服务器故障时,需要重新分配角色
  • Master服务器故障时,指定一个Slave服务器为Master
  • Slave服务器故障时,将故障服务器从集群剔除

设计关键点:

  • 任务分配策略更加复杂:需要将任务划分为不同类型并分配给不同角色的集群节点
  • 角色分配策略实现比较复杂:例如,可能需要使用 ZAB、Raft 这类复杂的算法来实现 Leader 的选举

相关文章

  • 架构师之路-计算高可用

    主备架构是计算高可用最简单的架构,可以分为冷备架构和温备架构,长用温备架构。 计算高可用的主备架构也比较适合与内部...

  • 计算高可用架构

    第77篇 极客时间《从0开始学架构》课程笔记。 什么是计算高可用 本质:通过冗余来规避部分故障的风险设计思想:通过...

  • 架构第9章 高可用存储架构-未完

    内容:1.高可用存储架构:双机架构2.高可用存储架构:集群和分区3.如何设计计算高可用架构本文来自于《极客时间》-...

  • 27 | 计算高可用架构

    计算高可用的主要设计目标是当出现部分硬件损坏时,计算任务能够继续正常运行。因此计算高可用的本质是通过冗余来规避部分...

  • 27 | 如何设计计算高可用架构?

    计算高可用的主要设计目标是当出现部分硬件损坏时,计算任务能够继续正常运行。因此计算高可用的本质是通过冗余来规避部分...

  • 架构(4),高可用

    高可用包括:存储高可用,计算高可用,业务高可用。 一、存储高可用 存储的高可用,主要是通过数据冗余的方式来实现高可...

  • MHA高可用

    01,主从复制架构演变介绍 1.基本结构 2.高级应用架构演变 高性能架构 高可用架构 02,高可用架构 1.架构...

  • 互联网架构为什么要做服务化?

    一、互联网高可用架构,为什么要服务化?【服务化之前高可用架构】在服务化之前,互联网的高可用架构大致是这样一个架构:

  • 【深度知识】Rust语言入门、关键技术与实战经验

    编者按:高可用架构分享及传播在架构领域具有典型意义的文章,本文由唐刘在高可用架构群分享。转载请注明来自高可用架构公...

  • MySQL-MHA高可用技术

    主从复制架构演变介绍 基本结构 MHA简介: MHA工作原理: 高级应用架构演变 高可用架构介绍 高可用MHA *...

网友评论

    本文标题:计算高可用架构

    本文链接:https://www.haomeiwen.com/subject/otqfpqtx.html