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

什么是容错

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

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

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

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

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

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

容错与高可用性

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

走进人工智能|深度学习 算法的创世纪

前言&#xff1a; 深度学习通过训练深层神经网络模型&#xff0c;可以自动学习和提取数据的特征&#xff0c;包括更准确的图像识别、自然语言处理、医学诊断等方面的应用。 文章目录 序言背景算法的创世纪技术支持应用领域程序员如何学总结 序言 深度学习是一种机器学习方法&a…

【2023年江西省研究生数学建模竞赛】题目一 蒸汽发生器倒U型管内液体流动 建模方案及参考文献

代码与结果如下&#xff1a;完整文档见文末 完整思路”请点击这里“到原文章获取 题目&#xff1a; PACTEL压水堆整体测试设备在2009年建造&#xff0c;用于带有垂直倒U型管蒸汽发生器的压水堆热液压相关的安全性研究,参见图1。 PACTEL压水堆设施包括一个反应堆压力容器模型…

2.ThreadLocalRandom

Random类及其局限性 一般情况下&#xff0c;我们都会使用java.util.Random来生成随机数&#xff08;Math.random()也是使用Random实例生成随机数&#xff09;。 示例 public static void main(String[] args) {Random random new Random();for (int i 0; i < 10; i) {S…

LED显示屏结构

LED显示屏通常由以下几个主要组成部分构成&#xff1a; LED模块&#xff1a;LED模块是构成LED显示屏的基本单元。它包含多个LED点阵&#xff0c;每个点阵包含红色、绿色和蓝色LED灯珠&#xff0c;通过不同的亮度和颜色组合来呈现图像和视频。LED模块的尺寸和像素密度可以根据需…

训练自己的ChatGPT 语言模型(一).md

0x00 Background 为什么研究这个&#xff1f; ChatGPT在国内外都受到了广泛关注&#xff0c;很多高校、研究机构和企业都计划推出类似的模型。然而&#xff0c;ChatGPT并没有开源&#xff0c;且复现难度非常大&#xff0c;即使到现在&#xff0c;没有任何单位或企业能够完全复…

利用低代码平台实现协同办公,助力企业提升效益

概要&#xff1a;本文介绍了协同办公的作用&#xff0c;以及利用低代码平台实现协同办公的优势。同时也分享了天翎为华晨汽车打造的低代码协同工具&#xff0c;帮助企业提高管理效率&#xff0c;改善运营模式&#xff0c;提升产品质量及生产精益化。展示了咨询库、原料质量录入…

实习工作之定时任务

需求&#xff1a;在当天晚上12点定时将过期数据的状态置为冻结状态 版本一代码实现[相当于是一个死代码&#xff0c;因为不能自动调度] public void updateStatus() throws CommonException, ParseException {String date_str "2023-07-01 00:00:00";Date expireT…

阿里云盘如何实现 大文件 秒上传?

文章目录 Intro极速上传的原因隐私保护 Intro 今天把几个软件上传到阿里云盘进行分享&#xff0c;文件大小将近1GB&#xff0c;按理说上传需要个2~3分钟吧。 之前上传一个压缩包看到上传速度大概是4~5MB/s。 但是我刚到别的软件看了一圈&#xff0c;回来发现文件居然已经上传…

华为云专家出品《从零到一•Python图像处理入门》电子书

《华为云云享.书库》系列电子书来啦&#xff01; 本系列电子书旨在帮助开发者成长&#xff0c;汇聚华为云内外部专家技术精华制作而成。 本书《从零到一•Python图像处理》是该系列电子书第3部。 我们在华为开发者即将到来之际&#xff0c;开放电子书免费下载。 点击下方链接…

AI时代,职场人如何转“危”为“机”

AIGC技术的蓬勃发展正在深刻影响着各行各业&#xff0c;关于AI是否会取代人类工作也引发了职场人的担忧。6月29日&#xff0c;奇富科技邀请祺邻HR发起人孙祺做客直播间&#xff0c;分享职场人在AI技术变革中如何应对挑战与机遇。孙祺认为&#xff0c;AI在当前阶段不会对工作产生…

深入了解 OkHttp 协议:优雅的网络请求框架

&#x1f604;作者简介&#xff1a; 小曾同学.com,一个致力于测试开发的博主⛽️&#xff0c;主要职责&#xff1a;测试开发、CI/CD 如果文章知识点有错误的地方&#xff0c;还请大家指正&#xff0c;让我们一起学习&#xff0c;一起进步。&#x1f60a; 座右铭&#xff1a;不想…

基于机器学习算法:朴素贝叶斯和SVM 分类-垃圾邮件识别分类系统(含Python工程全源码)

目录 前言总体设计系统整体结构图系统流程图 运行环境Python 环境安装pytesseract注册百度云账号 模块实现1. 数据模块2. 模型构建3. 附加功能 系统测试1. 文字邮件测试准确率2. 网页测试结果 工程源代码下载其它资料下载 前言 本项目采用朴素贝叶斯和支持向量机&#xff08;S…