IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 计算高可用回顾 -> 正文阅读

[系统运维]计算高可用回顾

计算高可用的主要设计目标是当出现部分硬件损坏时,计算任务能够继续正常运行,因此计算高可用的本质是通过冗余来规避部分故障的风险。关键点如下两点:

  • 哪些服务器可以执行任务
    第一种方式,每个服务器都可以执行任务,例如常见的网站访问;
    第二种方式,只有特定的服务器(主机)可以执行任务,如zookeeper的leader才能处理写请求;

  • 任务如何重新执行
    第一种策略是对于已经分配的任务即使执行失败也不做任何处理,系统只需要保证新的任务能够分配到其他非故障服务器上执行即可;
    第二种策略是设计一个任务管理器来管理需要执行的计算任务,服务器执行完任务后,需要向任务管理器反馈任务执行结果,任务管理器根据任务执行结果来决定是否需要将任务重新分配到另外的服务器上执行;

任务分配器是一个逻辑的概念,并不一定要求系统存在一个独立的任务分配器模块

主备

主机执行所有计算任务,如果主机故障不能恢复,则需人工升级备机为主机,并添加新的备机。

根据备机状态的不同,主备架构又可以细分为冷备架构和温备架构:
冷备:备机上的程序包和配置文件都准备好,但备机上的业务系统没有启动(注意:备机的服务器是启动的),主机故障后,需要人工手工将备机的业务系统启动,并将任务分配器的任务请求切换发送给备机
温备:备机上的业务系统已经启动,只是不对外提供服务,主机故障后,人工只需要将任务分配器的任务请求切换发送到备机即可。

冷备可以节省一定的能源,但温备能够大大减少手工操作时间,因此一般情况下推荐用温备的方式。

优点就是简单,主备机之间不需要进行交互,状态判断和切换操作由人工执行,系统实现很简单。
缺点正好也体现在人工操作这点上,因为人工操作的时间不可控,而且手工操作过程中容易出错。

主备架构比较适合内部管理系统、后台管理系统这类使用人数不多、使用频率不高的业务,不太适合在线的业务。

主从

任务分配器需要将任务进行分类,确定哪些任务可以发送给主机执行,哪些任务可以发送给备机执行

主机故障不可恢复时,需要人工介入,升级从机接受任务A并添加从机接受任务B或者直接新增主机接受任务A。

优点:主从架构的从机也执行任务,发挥了从机的硬件性能;
缺点:主从架构需要将任务分类,任务分配器会复杂一些;

集群

上述的主备或者主从都需要人工介入切换,但存在人工操作效率低、容易出错、不能及时处理故障等问题,在可用性要求更加严格的场景中,我们需要系统能够自动完成切换操作,这就是高可用集群方案。

根据集群中服务器节点角色的不同,可以分为两类:

  • 对称集群:集群中每个服务器的角色都是一样的,都可以执行所有任务;
  • 非对称集群:集群中的服务器分为多个不同的角色,不同的角色执行不同的任务,例如最常见的 master-slave角色;

存储高可用集群把双机架构和集群架构进行了区分;而在计算高可用集群架构中,2 台服务器的集群和多台服务器的集群,在设计上没有本质区别。

对称集群

对称集群更通俗的叫法是负载均衡集群

负载均衡集群的设计关键点在于两点:

  • 任务分配器需要选取分配策略;
  • 任务分配器需要检测服务器状态;

任务分配策略比较简单,轮询和随机基本就够了。

状态检测稍微复杂一些,既要检测服务器的状态,例如服务器是否宕机、网络是否正常等;同时还要检测任务的执行状态,例如任务是否卡死、是否执行时间过长等。常用的做法是任务分配器和服务器之间通过心跳来传递信息,包括服务器信息和任务信息,然后根据实际情况来确定状态判断条件。

非对称集群

非对称集群中不同服务器的角色是不同的,不同角色的服务器承担不同的职责。

非对称集群相比负载均衡集群,设计复杂度主要体现在两个方面:

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

--------《极客课程》? 学习笔记

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-01-03 16:30:34  更:2022-01-03 16:30:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 6:28:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码