当前位置: 首页 > news >正文

高可用架构模式——如何设计计算高可用架构

目录

    • 一、计算高可用架构的主要设计目标
    • 二、计算高可用架构设计的关键点
      • 2.1、哪些服务器可以执行任务
      • 2.2、任务如何重新执行
    • 三、常见的计算高可用架构
      • 3.1、主备
        • 3.1.1、主备方案的详细设计
        • 3.1.2、主备架构分类
        • 3.1.3、主备架构优缺点
        • 3.1.4、主备架构适合的场景
      • 3.2、主从
        • 3.2.1、主从方案的详细设计
        • 3.2.2、主从架构优缺点
      • 3.3、集群
        • 3.3.1、对称集群
          • 3.3.1.1、对称集群详细设计
          • 3.3.1.2、对称集群设计复杂度关键点
        • 3.3.2、非对称集群
          • 3.3.2.1、非对称集群架构详细设计
          • 3.3.2.2、非对称集群架构设计复杂度的关键点

本文来源:极客时间vip课程笔记

一、计算高可用架构的主要设计目标

  • 计算高可用架构的主要设计目标是当出现部分硬件损坏时,计算任务能够继续正常运行
  • 因此计算高可用架构的本质通过冗余来规避部分故障的风险,单台服务器是无论如何都达不到这个目标的。所以计算高可用的设计思想很简单:通过增加更多服务器来达到计算高可用。

二、计算高可用架构设计的关键点

  • 计算高可用架构的设计复杂度主要体现任务管理方面,即当任务在某台服务器上执行失败后,如何将任务重新分配到新的服务器进行执行。因此,计算高可用架构设计的关键点有下面两点。

2.1、哪些服务器可以执行任务

  • 第一种方式和计算高性能中的集群类似,每个服务器都可以执行任务。例如,常见的访问网站的某个页面。
  • 第二种方式和存储高可用中的集群类似,只有特定服务器(通常叫“主机”)可以执行任务。当执行任务的服务器故障后,系统需要挑选新的服务器来执行任务。例如,ZooKeeper 的 Leader 才能处理写操作请求。

2.2、任务如何重新执行

  • 第一种策略是对于已经分配的任务即使执行失败也不做任何处理,系统只需要保证新的任务能够分配到其他非故障服务器执行即可。

  • 第二种策略是设计一个任务管理器来管理需要执行的计算任务,服务器执行完任务后,需要向任务管理器反馈任务执行结果任务管理器根据任务执行结果决定是否需要将任务重新分配到另外的服务器上执行。

  • 需要注意的是:“任务分配器”是一个逻辑的概念,并不一定要求系统存在一个独立的任务分配器模块。例如:

    Nginx 将页面请求发送给 Web 服务器,而 CSS/JS 等静态文件直接读取本地缓存。这里的 Nginx 角色是反向代理系统,但是承担了任务分配器的职责,而不需要 Nginx 做反向代理,后面再来一个任务分配器。

    对于一些后台批量运

http://www.dtcms.com/a/295124.html

相关文章:

  • 前端学习日记(十一)
  • Spark 之 DataFrame
  • Android模块化实现方案深度分析
  • 深度学习的Logits:logist 是什么,上一维度的隐藏向量怎么获取
  • Linux C: 函数
  • 洪水预报中的序列到序列模型及其可解释性扩展
  • 设置低秩适配器(LoRA)
  • 优化:Toc小程序猜你喜欢功能
  • 基于python的微博评论和博文文本分析,包括LDA+聚类+词频分析+lstm热度预测,数据量10000条
  • 浅谈Python 中的 @contextmanager:资源管理与状态切换的最佳实践
  • 实验室信息管理系统的设计与实现/实验室管理系统
  • Remote Framebuffer Protocol (RFB) 详解
  • 洛谷 P11249 [GESP202409 七级] 小杨寻宝-普及/提高-
  • Python 中的上下文管理器:@asynccontextmanager 解析与实战案例
  • 【Pytorch】数据集的加载和处理(二)
  • MySQL梳理二:索引
  • 抽奖系统(2)——注册/登陆
  • AI语音芯片跨界集成屏幕驱动让开发更简单
  • Show-o 论文解读
  • 嵌入式与 Linux 系统中的核心图形库全解析
  • 认识Transformer架构
  • 【element plus】el-select,allow-create不需要点回车键
  • 【tmux无法使用鼠标滚轮滚动页面的问题】解决方案
  • web自动化--鼠标键盘事件滚动操作
  • HTML5 网页游戏设计开发——1、HTML基础
  • 环境搭建①:下载STM32标准外设库(固件库下载)
  • GNSS差分定位系统之二:差分定位能直接提高移动站的定位精度吗?
  • lwIP学习记录4——裸机移植lwIP工程
  • HCIP一二章笔记
  • Linux运维新手的修炼手扎之第24天