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

什么是容错

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

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

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

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

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

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

容错与高可用性

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Twitter爬虫】Twitter网络爬虫

利用selenium爬取Twitter 从2月9日起&#xff0c;Twitter不再支持免费访问Twitter API&#xff0c;继续使用Twitter API支付较高的费用。下面将介绍一种绕过Twitter API爬取推文的方式 Selenium Webdriver框架 首先介绍一下Selenium Webdriver&#xff0c;这是一款web自动化…

计算机专业大学如何自学?常用网站和工具

耗时5小时&#xff0c;第一个B站视频&#xff0c;满足分享欲 计算机专业现状 or 困境&#xff1f;如何自学&#xff1f;常用网站科普&#xff01;_哔哩哔哩_bilibili &#x1f446;发了个视频&#xff0c;结合文章中的链接&#xff0c;保存到自己浏览器收藏夹里就完了 目录 …

React修改Antd组件的样式

修改默认的antd组件&#xff0c;需要使用global import React, { useState, useEffect } from react; import { Tabs, Rate, Steps } from antd; import styles from ./index.less;const Index (props) >{return (<div className{styles.class_steps}><Stepsprog…

maven 环境配置踩坑

今晚在跟着视频学习spring的时候&#xff0c;创建maven工程&#xff0c;一直提示Sync 下载异常。搞了一晚上终于搞定了环境。下面给出一下今晚的总结。 1、确保maven安装并配置好环境变量。 下载并安装maven后&#xff0c;还需要在电脑上配置maven的环境变量。这部分参考网络教…

Hyperledger Fabric网络快速启动

目录 1、网络服务配置 2、关联的docker-compose-base.yaml 各Peer节点容器设置如下信息。 3、被关联的Peer-base.yaml 4、启动网络 2、完成通道的创建 2.1将节点加入应用通道 更新锚节点 2.为什么要创建节点并将其加入应用通道中&#xff1f; 1、网络服务配置 由于要启动…

『赠书活动 | 第十三期』《算力经济:从超级计算到云计算》

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; 『赠书活动 &#xff5c; 第十三期』 本期书籍&#xff1a;《算力经济&#xff1a;从超级计算到云计算》 赠书规则&#xff1a;评论区&#xff1a;点赞&#xff5c;收…

SFP6012-ASEMI代理MHCHXM(海矽美)二极管SFP6012

编辑&#xff1a;ll SFP6012-ASEMI代理MHCHXM&#xff08;海矽美&#xff09;二极管SFP6012 型号&#xff1a;SFP6012 品牌&#xff1a;MHCHXM&#xff08;海矽美&#xff09; 封装&#xff1a;TO-247AB 恢复时间&#xff1a;≤75ns 正向电流&#xff1a;30A 反向耐压&a…

基于Python的电影票房爬取与可视化系统的设计与实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

FlutterUnit 已上架 iOS,暗色模式全面支持

theme: cyanosis 一、FlutterUnit 的全平台支持 FlutterUnit 是我的一个开源项目&#xff0c;基于 Flutter 构建的一个 全平台 应用程序。现在很荣幸地宣布: FlutterUnit 已经上架 iOS 的 App Store &#xff0c;自此主流的几大平台均已提供体验。 项目地址: https://github.co…

Java中常见的线程池以及ThreadPoolTaskExecutor和ThreadPoolExecutor

线程池的基本组成&#xff1a; 线程管理器&#xff1a;用于创建并管理线程池&#xff0c;负责线程池的创建、销毁以及任务的添加。 工作线程&#xff1a;线程池中的线程&#xff0c;负责执行任务&#xff0c;没有任务时处于等待状态。 任务接口&#xff1a;每个任务必须实现的…

B051-cms06-退出 回车登录 登录拦截 记住我 SVN

目录 注销功能实现1.找到退出按钮修改请求路径2.后端删除Session并跳转到登录页面 回车登录功能登陆拦截1.编写登录拦截器2.配置拦截器 记住我后端实现页面实现 取消记住我后端实现页面实现 注销功能实现 1.找到退出按钮修改请求路径 header.jsp <% page language"j…

Linux上安装matlab

首先需要下载文件&#xff0c;微人大正版软件下载里有 然后直接点击&#xff0c;就可以就可以安装&#xff0c;不需要使用挂载命令&#xff0c;然后使用 ./install就可以进行安装了&#xff0c;这里记住是得登录自己的人大邮箱&#xff0c;否则无法激活&#xff0c;然后修改安…

LeetCode·每日一题·2490. 回环句·模拟

作者&#xff1a;小迅 链接&#xff1a;https://leetcode.cn/problems/circular-sentence/solutions/2325227/mo-ni-zhu-shi-chao-ji-xiang-xi-by-xun-ge-x65e/ 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 著作权归作者所有。商业转载请联系作者获得授权&#xff0…

MySQL 主从复制与读写分离

概念 主从复制与读写分离的意义 企业中的业务通常数据量都比较大&#xff0c;而单台数据库在数据存储、安全性和高并发方面都无法满足实际的需求&#xff0c;所以需要配置多台主从数据服务器&#xff0c;以实现主从复制&#xff0c;增加数据可靠性&#xff0c;读写分离&#x…

不是吧,交换机坏了你还只会这么排查?

又见面了&#xff0c;我的网工朋友 上次给你分享了交换机和路由器的对接上网配置案例&#xff0c;还记得吗&#xff1f; 今天这篇&#xff0c;和你聊聊交换机接口故障。 接口故障这件事&#xff0c;对咱们网工来说其实算是家常便饭了。 工作到现在&#xff0c;你复盘一下&a…

实战:求年月日时间前后遇到的坑和解决方式

这里写目录标题 前言正确实例&#xff1a;错误实例&#xff1a; 需求 前言 这周接到一个时间转换任务需要处理&#xff0c;本来没什么问题&#xff0c;后来完成后发现时间有偏差&#xff0c;又重写了一遍代码&#xff0c;感觉很有记录必要性&#xff0c;希望看过的小伙伴可以避…

计算机网络——数据链路层

序言 问&#xff1a;数据链路层在现在的社会起到什么作用&#xff1f; 答&#xff1a;数据链路层在现在的社会起到关键性作用&#xff0c;比如&#xff1a;数据传输和通信&#xff1b;网络连接和互联互通&#xff1b;错误检测和纠正&#xff1b;媒体访问控制&#xff1b;网络性…

启动一个qemu虚拟机

安装qemu&#xff1a; 编译内核&#xff1a; 编译rootfs&#xff1b; 启动&#xff1a; qemu-system-x86_64 -kernel ./linux-4.14.320/arch/x86_64/boot/bzImage -hda ./busybox-1.36.1/rootfs.img -append "root/dev/sda consolettyS0" -nographic 效果图&am…

【Tensorflow object detection API + 微软NNI】图像分类问题完成自动调参,进一步提升模型准确率!

1. 背景&目标 利用Tensorflow object detection API开发并训练图像分类模型&#xff08;例如&#xff0c;Mobilenetv2等&#xff09;&#xff0c;自己直接手动调参&#xff0c;对于模型的准确率提不到极致&#xff0c;利用微软NNI自动调参工具进行调参&#xff0c;进一步提…

Cisco Catalyst 8000 Series Edge Platforms, IOS XE Release Dublin-17.11.01a ED

Cisco Catalyst 8000 Series Edge Platforms, IOS XE Release Dublin-17.11.01a ED Cisco Catalyst 8000 边缘平台系列 请访问原文链接&#xff1a;https://sysin.org/blog/cisco-catalyst-8000/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&…