架构篇27:如何设计计算高可用架构?

news2024/11/16 10:41:29

文章目录

    • 主备
    • 主从
    • 集群
    • 小结

在这里插入图片描述

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

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

  1. 哪些服务器可以执行任务

第一种方式和计算高性能中的集群类似,每个服务器都可以执行任务。例如,常见的访问网站的某个页面。

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

  1. 任务如何重新执行

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

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

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

  • Nginx 将页面请求发送给 Web 服务器,而 CSS/JS 等静态文件直接读取本地缓存。这里的 Nginx 角色是反向代理系统,但是承担了任务分配器的职责,而不需要 Nginx 做反向代理,后面再来一个任务分配器。
  • 对于一些后台批量运算的任务,可以设计一个独立的任务分配系统来管理这些批处理任务的执行和分配

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1414331.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【正点原子STM32】STM32时钟系统(时钟树、时钟源、分频器和倍频系数、锁相环、STM32CubeMX时钟树、系统时钟配置步骤)

一、认识时钟树 1.1、什么是时钟?1.2、认识时钟树(F1)1.3、认识时钟树(F4)1.4、认识时钟树(F7)1.5、认识时钟树(H7) 二、配置系统时钟 2.1、系统时钟配置步骤2.2、外设…

贝叶斯增量式跨域适应:少样本 + 跨模态学习 + 知识保留和推断【fundus + OCT】,做视网膜病变

贝叶斯深度学习:增量式少样本学习跨域适应 贝叶斯多目标函数 跨模态学习 fundus OCT,做视网膜病变 核心思想设计网络:寻找分类模型、损失函数实验结果混淆矩阵与注意力图评估 总结 核心思想 论文:https://arxiv.org/pdf/2110.…

【微信小程序开发】模板与配置

文章目录 前言1. WXML 模板语法1.1 数据绑定1.2 事件绑定1.2.1 bindtap 事件1.2.2 bindinput 事件 1.3 条件渲染1.4 列表渲染 2. WXSS 模板样式2.1 什么是 rpx 尺寸单位2.2 什么是样式导入2.3 全局样式和局部样式2.3.1 全局配置2.3.1.1 window 节点常用的配置项:2.3…

反函数

一、反函数的定义 对每个y∈f(D),都有唯一的x∈D,使得f(x)y。即一个y对应一个x 举例 求得反函数的方法也比较简单: 在y f(x)中将y与x互换;重新整理为用x的表达式表示y的格式 。 二、反函数的图像性质 一个函数和反函数之间…

SpringBoot中阿里云OSS的使用

目录 1 登录/注册阿里云并进入控制台 2 进入OSS控制台 3 创建bucket 4 查看bucket 5 获取AccessKey 6 查看帮助文档 7 添加Maven依赖 8 获取示例代码并改造成工具类 9 测试 1 登录/注册阿里云并进入控制台 2 进入OSS控制台 3 创建bucket 4 查看bucket 5 获取AccessKe…

Unity MonoBehaviour 生成dll

dllllllllllllll🥓 🥙vs创建类库项目🧀添加UnityEngine、UnityEditor引用🍕添加MonoBehaviour类🦪设置dll生成路径🍿生成dll🍔使用dll中的Mono类 🥙vs创建类库项目 🧀添加…

Kotlin快速入门系列3

Kotlin条件、循环控制 IF条件控制 与Java类似,一个if语句可包含布尔表达式和一条或多条语句。 fun compare(a:Int,b:Int) : Int{//常规传统用法var max aif (b>a) max breturn max//使用elsevar mMax : Intif(a>b){mMax a}else{mMax b}return mMax//使…

【游戏客户端开发的进阶路线】

*** 游戏客户端开发的进阶路线 春招的脚步越来越近,我们注意到越来越多的同学们都在积极学习游戏开发,希望能在这个充满活力的行业中大展拳脚。 当我们思考如何成为游戏开发领域的佼佼者时,关键在于如何有效规划学习路径。 🤔 我…

【学网攻】 第(9)节 -- 路由器使用以及原理

系列文章目录 目录 系列文章目录 文章目录 前言 一、路由器是什么? 二、实验 1.引入 总结 文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻】 第(2)节 -- 交换机认识及使用【学网攻】 第(3)节 -- 交换机配置聚合端口【学网攻】 第(4)节 -- 交换机划分Vlan…

代码随想录算法训练营第32天 | 122.买卖股票的最佳时机II + 55. 跳跃游戏 + 45.跳跃游戏II

今日任务 122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II 122.买卖股票的最佳时机II - Medium 题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i…

高中数学:集合

一、基本概念与关系 1、元素 2、集合 集合中元素的特性 1、确定性。2、无序性。3、互异性。 3、空集,用∅符号表示 4、元素与集合的关系是属于关系,用∈符号表示 5、集合与集合的关系是包含关系。用⊆或者⊊符号表示 子集与真子集。 A⊊B > A⊆B 反之…

HCIP复习课(bgp实验)

1、ip配置: R1: R2: R3: R4: R5: R6: R7: R8: 2、bgp配置: R1: R2: R3: R4: R5: R6:…

Apache Flink连载(二十六):TaskSlot任务槽-(1)-TaskSlotSlotSharingGroup

🏡 个人主页:IT贫道-CSDN博客 🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~ 🔔 博主个人B栈地址:豹哥教你学编程的个人空间-豹哥教你学编程个人主页-哔哩哔哩视频 提交到集群中的Flink程序最终会转换成一个个的Subtask,Subtask是Flink任务调度的基本单元,这些t…

LaTeX基础使用【系列一】

🌈个人主页:godspeed_lucip 🔥 系列专栏:LaTeX基础使用 🌏1 LaTeX基本结构🍉1.1 基本结构🍉1.2 小tip1.2.1 注释的写法1.2.2 数学公式 🌏2 LaTeX中文的处理🥑2.1 前提工作…

C++ 重点内容:友元

目录 友元函数: 友元成员函数: 友元类: 友元是否有悖于OOP? 总结: 类因为具有封装和信息隐藏的特性(类外函数无法访问类的私有、保护成员),C提出友元解决特定的编程需要;友元分…

第八篇 交叉编译华为云Iot SDK到Orangepi3B

本篇主要内容: 一、交叉编译华为云Iot SDK依赖1.宿主机安装交叉编译工具链(1)选择下载交叉编译工具链(2)解压、添加环境变量、重启2.交叉编译依赖库(0) 准备工作(1) 交叉…

Ant Design Mini - 支付宝小程序官方推出的免费开源 UI 组件库,新增支持微信小程序,实用性大大增加

支付宝小程序官方的 UI 组件库开始支持运行在微信小程序上了,如果要开发这两家小程序平台,这套组件很合适。 Ant Design Mini 也简称 antd-mini ,是一套运行在支付宝小程序的 UI 组件库,UI 设计遵循 Ant Design 规范,…

【PyTorch】使用PyTorch创建卷积神经网络并在CIFAR-10数据集上进行分类

前言 在深度学习的世界中,图像分类任务是一个经典的问题,它涉及到识别给定图像中的对象类别。CIFAR-10数据集是一个常用的基准数据集,包含了10个类别的60000张32x32彩色图像。在本博客中,我们将探讨如何使用PyTorch框架创建一个简…

TensorFlow2实战-系列教程2:神经网络分类任务

🧡💛💚TensorFlow2实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Jupyter Notebook中进行 本篇文章配套的代码资源已经上传 1、Mnist数据集 下载mnist数据集: %matplotlib inline from pathlib imp…

vs2019报错MSB4019 找不到导入的项目“BuildCustomizations\CUDA 9.2.props”

在VS中执行生成,报错如下:严重性 代码 说明 项目 文件 行 禁止显示状态 错误 MSB4019 找不到导入的项目“D:\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations\CUDA 9.2.props”。请确认 Import 声明“D:\Microso…