如何在编程中中实现负载均衡和容错处理

news2024/9/25 23:24:59

什么是容错

容错是指系统(计算机、网络、云集群等)在其一个或多个组件发生故障时继续运行而不会中断的能力。

创建容错系统的目的是防止由单点故障引起的中断,确保任务关键型应用程序或系统的高可用性和业务连续性。

容错系统使用备份组件自动替换故障组件,确保不会丢失服务。其中包括:

  • 由相同或等效系统备份的硬件系统。例如,通过使用并行运行的相同服务器,所有操作都镜像到备份服务器,可以使服务器具有容错能力。
  • 由其他软件实例备份的软件系统。例如,包含客户信息的数据库可以连续复制到另一台计算机。如果主数据库出现故障,操作可以自动重定向到第二个数据库。
  • 使用替代电源实现容错的电源。例如,许多组织都有发电机,可以在主线电力故障时接管。

以类似的方式,任何单点故障的系统或组件都可以使用冗余来实现容错。

容错可以在灾难恢复策略中发挥作用。例如,在云中具有备份组件的容错系统可以快速恢复任务关键型系统,即使自然或人为灾难破坏了本地 IT 基础架构。

容错与高可用性

高可用性是指系统通过最大限度地减少停机时间来避免服务丢失的能力。它以系统的正常运行时间表示,占总运行时间的百分比。五个 99,或 999.<>% 的正常运行时间,被认为是可用性的“圣杯”。

在大多数情况下,业务连续性策略将包括高可用性和容错能力,以确保您的组织在发生小故障和发生灾难时保持基本功能。

虽然容错和高可用性都是指系统随时间推移的功能,但存在差异,突出了它们在业务连续性规划中各自的重要性。

请考虑以下类比,以更好地了解容错和高可用性之间的区别。双引擎飞机是一种容错系统——如果一个发动机发生故障,另一个发动机就会启动,让飞机继续飞行。相反,带有备用轮胎的汽车是高可用性的。爆胎会导致汽车停止,但停机时间最短,因为轮胎可以轻松更换。

在组织环境中创建容错和高可用性系统时,一些重要的注意事项包括:

  • 停机时间 – 高可用性系统具有最小级别的允许服务中断。例如,具有“五个 5”可用性的系统每年停机大约 <> 分钟。容错系统应连续工作,而不会发生可接受的服务中断。
  • 范围 – 高可用性建立在一组共享资源之上,这些资源共同用于管理故障并最大程度地减少停机时间。容错依赖于备用电源,以及可以检测故障并立即切换到冗余组件的硬件或软件。
  • 成本 – 容错系统可能成本高昂,因为它需要连续运行和维护额外的冗余组件。高可用性通常作为整体包的一部分通过服务提供商(例如,负载均衡器提供商)提供。

您的某些系统可能需要容错设计,而高可用性可能足以满足其他系统的需求。您应该权衡每个系统对服务中断的容忍度、此类中断的成本、与服务提供商和客户的现有 SLA 协议,以及实现完全容错的成本和复杂性。

负载平衡和故障转移:Web 应用程序的容错

在 Web 应用程序交付的上下文中,容错与使用负载平衡和故障转移解决方案有关,以通过冗余和快速灾难恢复确保可用性。

负载平衡和故障转移都是容错的组成部分。

负载平衡解决方案允许应用程序在多个网络节点上运行,从而消除了对单点故障的担忧。大多数负载均衡器还优化了跨多个计算资源的工作负载分布,使它们单独对活动峰值更具弹性,否则会导致速度变慢和其他中断。

此外,负载平衡有助于应对部分网络故障。例如,包含两个生产服务器的系统可以使用负载平衡器在单个服务器发生故障时自动转移工作负载。

另一方面,故障转移解决方案用于导致完全网络故障的最极端情况。发生这种情况时,故障转移系统负责自动激活辅助(备用)平台,以保持 Web 应用程序运行,同时 IT 团队使主网络重新联机。

要实现零停机时间的真正容错,您需要实施“热”故障转移,从而将工作负载立即转移到工作备份系统。如果无法保持持续活动的备用系统,则可以使用“热”或“冷”故障转移,其中备份系统需要时间来加载和开始运行工作负载。

如何在编程中中实现负载均衡和容错处理 

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

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

相关文章

DAY26:回溯算法(一):回溯算法理论

课程链接&#xff1a;https://www.bilibili.com/video/BV1cy4y167mM/?spm_id_from333.788 什么是回溯法 回溯法 - OI Wiki (oi-wiki.org) 回溯法是一种经常被用在 深度优先搜索&#xff08;DFS&#xff09; 和 广度优先搜索&#xff08;BFS&#xff09; 的技巧。 其本质是…

Elasticsearch 基本使用(一)写入数据

写入数据 查询索引状态写入一条数据查询数据按id查询一条 类比 getById不按id查 写入官方测试数据 查询索引状态 GET _cat/indices写入一条数据 PUT/POST my_index/_doc/1 {"k": "test key" }my_index&#xff1a;索引名 _doc&#xff1a;文档类型&#…

css基础知识三:说说em/px/rem/vh/vw的区别?

一、介绍 传统的项目开发中&#xff0c;我们只会用到px、%、em这几个单位&#xff0c;它可以适用于大部分的项目开发&#xff0c;且拥有比较良好的兼容性 从CSS3开始&#xff0c;浏览器对计量单位的支持又提升到了另外一个境界&#xff0c;新增了rem、vh、vw、vm等一些新的计量…

2023年网络安全竞赛——网页渗透

网页渗透 任务环境说明:  服务器场景:Server2120  服务器场景操作系统:未知(封闭靶机)  用户名:未知 密码:未知 访问服务器的网站主页,猜测后台数据库中本网页中应用的库名称长度,将长度作为flag提交; 通过扫描发现靶机开放80端口,直接访问80 尝试输入一个1,…

Web安全信息收集之CMS指纹识别

1、CMS指纹识别 CMS(内容管理系统),又称整站系统或文章系统网站内容管理。用户只需要下载对应的CMS软 件包,部署搭建,就可以直接利用CMS,简单方便。但是各种CMS都具有其独特的结构命名规则和定 的文件内容,因此可以利用这些内容来获取CMS站点的具体软件CMS与版本 常见CMs: …

软件管理Linux

1. 获取程序包的途径 系统发行版的光盘或官方的服务器 http://mirrors.aliyun.comhttp://mirrors.sohu.comhttp://mirrors.163.com 项目官方站点第三方组织 Fedora-EPEL&#xff08;推荐&#xff09;搜索引擎&#xff1a; http://pkgs.org http://rpmfind.net http://rpm.pbon…

数据库第十章(数据库恢复技术)十一章(并发控制)

目录 1.事务 2.并发控制 1.事务 事务的特点&#xff1a;ACID 原子性 atom 一致性 consistent 隔离性 isolation 持久性 durable 故障的种类 1.事务内部故障 措施&#xff1a;采取redo重做和undo撤销技术 2.系统故障DBMS 措施&#xff1a;重启 3.介质故障 硬件损坏 4.计…

msvcr110.dll丢失的解决方法-dll一键下载修复

我们在运行软件程序或者游戏的时候&#xff0c;如果程序提示“无法启动此程序&#xff0c;因为计算机中丢失msvcr110.dll。尝试重新安装该程序以解决此问题”&#xff0c;如果说明您电脑系统中缺少或者未注册msvcr110.dll这个运行库文件&#xff0c;那么我们要如何解决这个问题…

大学生简历信息填写模板

大学生简历信息填写模板篇1 姓名&#xff1a;__性别&#xff1a;_年龄&#xff1a;22健康状况&#xff1a;良好 籍贯&#xff1a;__家庭背景&#xff1a;职工家庭 所学专业&#xff1a;市场营销学历&#xff1a;本科(在读) 参业意向&#xff1a;可从事文秘工作、贸易、产品营销…

pytorch神经网络及训练(一)

pytorch神经网络及训练&#xff08;一&#xff09; 随机梯度下降算法 随机梯度下降算法&#xff08;SGD&#xff09;是对梯度下降算法的一种改进。 直观上SG的方法可能效率上更优。考虑这样一个情况&#xff0c;我们的训练数据集合 是由小的数据 集合复制10份得到的。此时&…

Java代码规范的重要性

目录 1 为什么需要代码规范1.1 不规范的案例1.1.1 就因为忘记加个分号&#xff0c;整个程序都崩溃了1.1.2 我为什么没写注释&#xff1f;1.1.3 谁动了我的代码&#xff1f;1.1.4 半小时写的代码&#xff0c;花两个小时调试 1.2 代码编写1.3 在项目架构1.4 数据库设计1.5 编写文…

openpnp - 软件版本的更新记录(机器翻译)

文章目录 openpnp - 软件版本的更新记录(机器翻译)概述openpnp更新历史记录机翻了一个版本, 大概齐参考一下.END openpnp - 软件版本的更新记录(机器翻译) 概述 卡在底部相机矫正上, 底部相机的硬件安装已经很精确了, 基本能排除是硬件问题. 现在问题定位, 大概率是openpnp软…

g++ -v 若显示g++不是内部或外部命令`

MinGW - Minimalist GNU for Windows Files下载地址 下载地址点这里https://sourceforge.net/projects/mingw/files/ . exe文件下载后建议安装在D盘下tools文件夹下&#xff08;个人习惯&#xff09; 此次安装在默认路径下&#xff0c;直接傻瓜式安装 安装&#xff1a; 1.…

2023年网络安全竞赛——网络安全应急响应Server2228

网络安全应急响应 任务环境说明&#xff1a; 服务器场景&#xff1a;Server2228&#xff08;开放链接&#xff09; 用户名&#xff1a;root&#xff0c;密码&#xff1a;pssw0rd123 1. 找出被黑客修改的系统别名&#xff0c;并将倒数第二个别名作为Flag值提交&#xff1b…

CTFshow-pwn入门-前置基础pwn13-pwn19

pwn13 题目说编译运行这个flag.c文件即可获得flag。那我们先把flag.c文件下载下来&#xff0c;然后托到虚拟机里使用gcc编译一下&#xff0c;运行看看是否能够拿到flag。 gcc -o flag -flag.c ./flagok&#xff0c;果然拿到了flag。flag为&#xff1a;ctfshow{hOw_t0_us3_GCC?…

前端小练-平台首页介绍+动画

文章目录 前言结构头部外部容器文字 主体小球动画打字机动画特效实现监控 完整代码总结 前言 时间飞逝&#xff0c;快大四了&#xff0c;刚好最近看不下去考研的&#xff0c;而且要准备这个毕设选题了&#xff0c;然后就想着怎么能够把自己所学的东西都用上&#xff0c;一开始…

Vue H5项目如何在PC端时布局居中展示,而不全屏拉伸

目录 1、场景再现&#xff1a;在PC端时 H5项目布局被拉伸2、代码实现3、最终效果图4、疑惑 1、场景再现&#xff1a;在PC端时 H5项目布局被拉伸 2、代码实现 在App.vue中的写入&#xff0c;vue2 的在mounted中写入&#xff0c;vue3的写在onMounted写入。 逻辑讲解&#xff1a…

Android 全局黑白化-模拟颜色空间

概述 平台&#xff1a; RK3568 Android 11在一些特殊的日子&#xff0c;如默哀日、灾难日&#xff0c;纪念日&#xff0c;哀悼日等&#xff0c;许多的APP、网页、海报等都开始使用黑白色主题。Android 的全局黑白实现方案&#xff0c;可以考虑使用模拟颜色空间的方法。 借助硬…

RabbitMQ高阶使用消息推送

目录 1 从打车开始说起1.1 需要解决的问题1.2 消息推送 2 消息推送2.1 什么是消息推送2.2 方案介绍2.2.1 ajax短轮询2.2.2 长轮询2.2.3 WebSocket 2.3 WS实现消息推送2.3.1 架构介绍2.3.2 暂存数据2.3.2.1 什么是MongoDB2.3.2.2 插入数据2.3.2.3 查询数据 2.4.1 轮询任务2.4.1.…

学生党暑假在家赚钱得方法,足不出户轻松赚取买鞋钱

很多学生党都想在暑假期间赚点零花钱&#xff0c;最好是能在家就赚钱。在家里赚零花钱有许多途径&#xff0c;今天我来和大家分享一些方法。 1、问答在各大平台上非常普遍。 我们可以在各大平台上找到各种各样的问答。 如今&#xff0c;问答平台越来越多&#xff0c;提供的奖…