高级分布式系统-第6讲 分布式系统的容错性--故障/错误/失效/异常

分布式系统容错性的概念

分布式系统的容错性: 当发生故障时, 分布式系统应当在进行恢复的同时继续以可接受的方式进行操作, 并且可以从部分失效中自动恢复, 且不会严重影响整体性能。

具体包括以下4个方面的内容:

可用性( availability) : 系统可以正确操作, 根据用户的行为来执行预定功能。

可靠性( reliability) : 系统可以无故障地持续运行。

安全性( safety) : 系统在偶然出现故障时, 能正确操作、 输出而不会造成任何灾害。 也称故障-安全性或者故障导向安全性。

可维护性( maintainability) : 发生故障的系统被恢复的难易程度。

分布式系统容错性-----故障/错误/失效/异常

故障、 错误和失效是容错系统中三个重要的概念, 它们之间的关系如下图所示:

故障( Fault) : 引起错误的直接原因( 异常条件) 。

错误( Error) : 由故障引起的子系统( 组件) 的不正确的内部状态。

失效( Failure) : 组件( 子系统) 在特定时刻的实际行为与预期行为之间产生了不一致的结果。

异常( Abnormity) : 错误与正常之间的一种预期外状态或者行为

故障的分类

错误的几个阶段:

激活错误: 一旦错误被计算访问或者影响了访问的流程( 如干扰) , 就激活了错误。

检测发现错误: 当计算访问错误后, 在值域或时域偏离的状态通过检测被发现。

如一个二进制数据的破坏, 可通过简单的奇偶校验检测发现。

消除错误: 用一个在值域和时域无偏离的新值覆盖了错误。

没有被激活、 检测发现或消除的错误称为潜伏错误( latent error) , 可能产生严重后果。

错误传播: 内部错误被激活并且已扩散到该组件( 子系统) 之外, 引发了其他的错误。

失效的严重性分类

失效的影响轻微, 其代价与系统的正常应用的损失在同一个数量级,这类失效称为良性失效。

失效可能导致灾难性后果, 其代价比系统正常应用损失高出几个数量级, 这类失效称为恶性失效( 或者危险失效) 。

失效是良性的还是恶性的, 完全取决于应用的特性。

可能发生恶性失效的应用称为安全关键( safety critical) 应用

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

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

相关文章

如何将后端带过来的字符串通过‘,’号作为判断依据,分割字符串然后生成数组

在实际开发工程中我们会遇到我们调用后端接口获取图片、文件、视频甚至选择的对象时,如果是这样的: 这种数据类型如果想渲染在html中的话就会很麻烦,我们可以通过","号为切割点将它放入数组中,通过列表进行渲染 由于实…

STM32入门教程-2023版【3-4】总结GPIO使用方法

三、总结GPIO使用方法 总体上来说是比较简单的 首先初始化时钟,然后定义结构体,赋值结构体 GPIO_Mode可以选择那8种输入输出模式,GPIO_Pin选择引脚,可以用按位或的方式同时选中多个引脚,GPIO_Speed选择输出速度,最后使…

全网最全持续集成接口自动化-jmeter+ant+jenkins

ant 批量执行Jmeter 一、环境准备 1、JDK环境:Java Downloads | Oracle 2、ANT环境:Apache Ant - Binary Distributions 3、Jmeter:Apache JMeter - Download Apache JMeter 4、将 jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant…

【开发篇】一、内存泄漏的分析工具

文章目录 1、内存泄漏2、解决内存泄漏3、工具一:Top4、工具二:VisualVM5、工具三:阿尔萨斯Arthas6、工具四:Promethus Grafana7、图像分析 1、内存泄漏 一个对象不再使用后,(因其从GC Root仍有引用链可达…

2023下半年软考证书什么时候发放?怎么领取?

已经确定领取时间的地区: 广东: 电子版:2024年1月8日上线 纸质版:预计24年2月开始 重庆: 邮寄申领:2024年1月15日0:00-3月1日23:00 现场领取:2024年1月15日-2月7日 贵州: 邮…

vue Element Plus Cascader级联选择器点击标签选中复选框

element-plus原功能 element-plus的Cascader级联选择器点击标签时是不会选中复选框的,我们想要实现点击标签时也能选中复选框这个效果,那么就要用到一些原生的方法 实现效果 mounted() {// Cascader 级联选择器: 点击文本就让它自动点击前面的input就可…

PPT自动化处理

python-pptx模块 可以创建、修改PPT(.pptx)文件非Python标准模块,需要单独安装 在线安装方式 pip install python-pptx 读取slide幻灯片 .slides 获取shape形状 slide.shapes 判断一个shape中是否存在文字 shape.has_text_frame 获取文字框 shape.text_f…

记录汇川:H5U与Fctory IO测试10

主程序: 子程序: IO映射 子程序: 自动程序 Fctory IO配置: HMI配置: 实际动作如下: Fctory IO测试10

提升源代码安全性的C#和Java深度混淆工具——IpaGuard

保护C#|JAVA源代码的深度混淆工具——IpaGuard 摘要 Ipa Guard是一款功能强大的IPA混淆工具,通过对iOS IPA文件进行混淆加密,保护其代码、资源和配置文件,降低破解反编译难度。本文将介绍Ipa Guard的深度混淆技术,包括逻辑混淆、…

世微AP5125 输入14-80V 输出12V5A LED灯降压恒流电源驱动方案 SOT23-6

这是一款60WLED驱动方案,线路图BOM表如下 ​ 祥单表: 实物图: 产品描述 AP5125 是一款外围电路简单的 Buck 型平均电流检测模式的 LED 恒流驱动器,适用于 8-100V 电压范围的非隔离式大功率恒流 LED 驱动领域。芯片采用固定频率 140kHz 的 …

【Spring Boot】application 配置文件(2)

server.servlet.session.timeout1800 spring.jackson.time-zoneGMT8 spring.jackson.date-formatyyyy-MM-dd HH:mm:ss server.servlet.session.timeout1800 定义了 HTTP 会话的超时时间,单位是秒,在此设置中,会话的超时时间被设置为 1800秒 即…

element + table 行列合并

如图&#xff0c;实现通过判断数据&#xff0c;动态的合并列数据 <template><div class"merge-cell"><el-table:data"tableData":span-method"objectSpanMethod"borderstyle"width: 100%; margin-top: 20px"><e…

记录el-select+el-tree复选框,支持模糊查询,懒加载,树父子节点不关联,不全选

需求&#xff1a;一个机构下拉菜单&#xff0c;一个人员下拉菜单&#xff0c;默认带入当前登录用户的机构和人员。机构下拉菜单为两个接口&#xff0c;模糊查询为一个接口不包含懒加载&#xff0c;默认非模糊查询情况下为一个接口&#xff0c;点击节点懒加载。机构下拉菜单数据…

【STM32】HAL库的STOP低功耗模式UART串口唤醒,解决首字节出错的问题(全网第一解决方案)

【STM32】HAL库的STOP低功耗模式UART串口唤醒&#xff0c;解决首字节出错的问题&#xff08;全网第一解决方案&#xff09; 前文&#xff1a; 【STM32】HAL库的STOP低功耗模式UART串口唤醒&#xff0c;第一个接收字节出错的问题&#xff08;疑难杂症&#xff09; 目前已解决 …

docker swarm 常用命令简介以及使用案例

docker swarm Docker Swarm 是Docker官⽅的跨节点的容器编排⼯具。⽤户只需要在单⼀的管理节点上操作&#xff0c;即可管理集群下的所有节点和容器 解决的问题 解决docker server的集群化管理和部署Swarm通过对Docker宿主机上添加的标签信息来将宿主机资源进⾏细粒度分区&am…

【源码阅读】事件订阅包v2

1、Feed Feed 实现一对多订阅&#xff0c;其中事件的载体是通道。发送到 Feed 的值会同时传送到所有订阅的通道。 与Typemux的对比 链接: link TypeMux是一个同步的事件框架&#xff0c;当有一个被订阅的事件发生的时候&#xff0c;会遍历该事件对应的订阅者通道&#xff0c;…

redis源码之:事件驱动epoll

一、aeEventLoop初始化 从server.c的main方法中进入initServer&#xff0c;在initServer方法中&#xff0c;server.el aeCreateEventLoop(server.maxclientsCONFIG_FDSET_INCR);创建eventloop&#xff1a;&#xff08;注意fileevent与epollevent的区分fileEvent是标识往epoll…

day13 滑动窗口最大值 前K个高频元素

题目1&#xff1a;239 滑动窗口最大值 题目链接&#xff1a;239 滑动窗口最大值 题意 长度为K的滑动窗口从整数数组的最左侧移动到最右侧&#xff0c;每次只移动1位&#xff0c;求滑动窗口中的最大值 不能使用优先级队列&#xff0c;如果使用大顶堆&#xff0c;最终要pop的…

获取进行逗号分隔的id值 Split的使用

获取进行逗号分隔的id值,Split的使用 后台实现对有逗号进行分割的字符串 使用这行代码就不会有一个空数组值,直接过滤调数组中的空值 var ids = key.Split(,).Where(s => !string.IsNullOrEmpty(s