精华内容
下载资源
问答
  • 容错性设计

    2021-03-04 08:51:35
    既然出错不可避免,那么如何进行容错性设计才是关键。容错性设计就是当错误发生时,人们看到的界面。就像对付不该发生的错误一样,容错性设计的关键在于“做好防御”。产品设计者们必须不断寻找可能造成用户困惑和...
  • 容错性测试一 简 介目 录二测 试 点一简 介容错性测试主要检查系统的容错能力检查软件在异常条件下自身是否具有防护性的措施或者某种灾难性恢复的手段容错性测试是检查软件在异常条件下的行为容错性好的软件能确保...
  • 文章目录前言状态机理论和系统容错性...因此分布式的且具有高容错性的服务设计理念应运而生。分布式的服务设计意味着其中会涉及到不同服务之间的通信协调,但同时分布式的服务部署在一定层面带来了更的系统容错度...

    前言


    当今技术进步更新十分的块,外界环境的变化对系统服务提出了更高的要求。传统中心集中式的系统服务管理模式越来越暴露出其不足之处,诸如单点瓶颈问题,不可容错等等。因此分布式的且具有高容错性的服务设计理念应运而生。分布式的服务设计意味着其中会涉及到不同服务之间的通信协调,但同时分布式的服务部署在一定层面带来了更高的系统容错度。本文笔者来讨论一种基于状态机方法构建的分布式容错服务。当今许多成熟的分布式系统都带有部分其中的设计理念。

    状态机理论和系统容错性的关联


    粗一看文章标题,可能有同学会比较好奇,状态机理论和系统容错性设计到底有哪些关联之处呢?

    简单地来做个解释,系统容错性的一个关键点在于说系统服务要具有多个状态完全一致的服务copy。当当前的系统服务出错了,可以随时从备选的copy服务中挑选一个继续提供服务。概括地来说,系统容错性的核心点在于系统具有多实例备份的设计,而多实例服务的核心点又在于各个服务拷贝之间状态的一致性。而这个一致性要求,就和我们本文所提到的状态机理论就有相关性了。

    我们可以运用状态机的一些方法,来构建状态一致性的多系统服务拷贝。下面我们来了解了解状态机理论的一些内容。

    状态机理论


    状态机,英文名称为State Machine,在状态机理论中,有以下一些概念的定义:

    • State,状态
    • Input,输入
    • Output,输出
    • 状态转化方法,Input × State → State
    • 输出方法,Input × State → Output
    • 初始State状态

    从上面的概念定义中,我们可以看到里面出现频率最高的词是State,一切都是围绕State展开进行的。在状态机中,一个初始状态经过一次输入转变为下一个状态,同时产生了一个输出内容。当多份初始状态一致的状态机,在经过完全相同、顺序也相同的的Input处理后,将会转变到最终一致的状态,同时将会产生相同的Output内容。

    将这套状态机理论应用到高容错性服务设计之中,我们可以以下一些概念转换:

    当各服务拷贝状态出现不一致情况时,意味着部分系统发生了错误的情况。这个不一致指某服务状态与大多数其它服务State不一致的时候。

    这里我们通常说的“大多数”指的是半数以上。

    状态机方法论的实际应用


    下面我们来聊聊状态机方法论的实际应用,看看它是如何应用在独立,多服务容错性系统设计之中的。在这个方法论里,总共可分为6个子步骤:

    • 1)布置初始状态一致的状态机在各个独立的服务拷贝中
    • 2)服务接受客户端请求,将其解析为状态机的Input
    • 3)定义上述Input的执行顺序
    • 4)按照步骤3)定好的顺序,让服务中的状态机执行Input
    • 5)返回客户端状态机执行的Output内容作为response
    • 6)监控检测服务拷贝间的状态的差异

    下面我们一一来对上述部分子步骤进行分析。
    步骤3在上述6个步骤中是最为关键的步骤,对于Input排序来说,这里面要求各个状态机之间进行投票协议约定,来达成一致性。

    状态机的错误恢复


    在上述过程中,有时难免会发生部分状态机实例发生错误现象,为了能够让此状态机能再次恢复到最新状态,我们需要保存历史Input Log作为恢复时使用。如上文所提到的,初始状态一致的状态机在经过相同顺序,相同的Input处理后,会达到最终一致的状态。

    但是保存历史所有的Input Log会导致消耗大量的存储空间以及可能的长时间恢复耗时,这里我们会有checkpoint的操作,来定期保存当前状态以及移除掉过去无效的Input Log数据。HDFS的checkpoint机值本质上也是此方法的一个理论实现。

    以下是基于状态机的流程处理过程图:
    在这里插入图片描述

    其实回过头来看状态机理论,在当前很多成熟的分布式系统内部或多或少都有其理论原理的体现,比如请求一致性处理,状态一致性检测等等。

    引用


    [1].https://en.wikipedia.org/wiki/State_machine_replication

    展开全文
  • 采用代数关系描述,构建了基于故障辅助因子的馈线故障区段定位的非线性方程组模型,并采用具有并行特征的牛顿-拉夫逊法进行求解,其优点在于:对报警信息畸变的情况具有强适应性,故障定位时具有高容错性;...
  • 第8章 容错性;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60
  • Kafka容错性测试【可用性】

    千次阅读 2018-08-04 21:44:34
    部署好Kafka【单节点3个broker】,我们可以对其容错性进行测试: 首先查看topic及详细信息: 1)用jps -m显示 2)现在3是主broker,可以用kill -9 3147 结束2,只剩3和1 3)再看下详细信息: Isr中已经...

    部署好Kafka【单节点3个broker】,我们可以对其容错性进行测试:
    首先查看topic及详细信息:
    这里写图片描述
    1)用jps -m显示
    这里写图片描述
    2)现在3是主broker,可以用kill -9 3147 结束2,只剩3和1
    3)再看下详细信息:
    这里写图片描述
    Isr中已经没有2了
    4) kill -9 3208结束3,发现仍然能测试生产消费信息【在生产终端输入,消费终端有显示】
    5) 再看下详细信息:
    这里写图片描述
    3和2都结束了,只剩1,所以leader也为1,但是不影响使用
    总结:无论结束的是主还是副broker,都不会影响kafka使用,只要还有一个副本,所以容错性很好,类比HDFS的多副本存储,即使某些节点挂掉了,也可实现高可用性。

    展开全文
  • 容错性测试

    2013-03-22 09:25:57
    一个好的方法是将测试系统全部的对象用一张系统结构图描绘出来,以图中所有可能发生的故障点设计测试用例。在系统结构图中存在单点失效的关键对象,就是设计的缺陷。
  • 容错性测试检查点

    2019-07-03 10:13:56
    容错性测试 容错性测试:是主要检查系统的容错能力,检查软件在异常条件下自身是否具有防护性的措施或者某种灾难性恢复的手段。 主要包括两个方面: 1)输入异常数据或进行异常操作,以检验系统的保护性。如果系统的...

    容错性测试
    容错性测试:是主要检查系统的容错能力,检查软件在异常条件下自身是否具有防护性的措施或者某种灾难性恢复的手段。
    主要包括两个方面:
    1)输入异常数据或进行异常操作,以检验系统的保护性。如果系统的容错性好,系统只给出提示或内部消化掉,而不会导致系统出错甚至崩溃。
    2)灾难恢复性测试。通过各种手段,让软件强制性地发生故障,然后验证系统已保存的用户数据是否丢失、系统和数据是否能很快恢复。

    测试点如下:
    数据边界性测试:
    1.数字类型超出应用设定最大值

    2.数字类型超出类型最大值

    3.数据类型填写非数据类型

    4.时间类型超出引用设定限制

    5.时间类型填写其他类型数据

    6.文本类型超出应用设定长度

    7.数据不符合实际规则(例如输入不存在的日期,或货币内容可以输入小数点后多于2位以上等)

    8.是否对输入内容的大小写进行自动转换,以防止用户对于大小写敏感内容出现输入错误

    9.是否对输入内容的前后空格进行自动去除,以防止用户输入不该存在的前后空格

    校验性测试:
    1.填写不符合校验的数据,例如不能以数字开头的输入,输入数字开头的数据

    2.验证码,填写错误的验证码

    3.需重复一致填写时,填写不一致数据

    4.对于文本框输入类型内容有要求是否进行了键盘输入检测

    5.上传不符合类型的文件

    代码级测试:
    1.非法调用函数

    2.使用非法参数(类型错误)调用函数

    3.使用非法参数(数据不符合规范)调用函数

    4.参数个数不符合函数要求

    5.使用不同情况,使程序进入错误处理

    6.测试是否有可能产生死循环

    7.对全局数据结构未设置初始值

    8.对全局数据结构引用过程中进行了数据内容的重新赋值,有可能会导致后续使用全局数据结构的模块导致错误

    9.接口或函数之间的调用是否会产生循环调用

    界面级测试:
    1.不按正常流程操作

    2.使用非正常手段访问(例如直接使用内部链接地址访问,直接使用访问协议访问)

    3.对于不应该进行的操作或违法操作是否进行了相关的屏蔽

    4.对于一些存在限定条件的输入参数,在界面或页面上是否有输入要求提示

    5.若只能对于某些固定的输入的内容进行处理时,应该使用下拉框或选择框控件,以防止用户输入错误

    6.对于一些操作较复杂或较容易造成错误的界面,系统是否有明确的说明或向导提示,以减少用户输入或操作错误

    安全性测试:
    1.sql 注入

    2.越权访问

    3.其他内容可参见28—安全性测试

    数据级测试:
    1.数据填写不完整时,是否产生错误

    2.流程未完成,强制关闭,是否会产生错误

    3.多人操作同一数据时,是否产生错误

    4.当系统出现异常时,是否能自动进行数据备份,以最大程度减少错误带来的损失

    灾难恢复性测试:
    1.强制使应用系统发生,检查数据是否会错误丢失

    2.强制使硬件发生故障,检查数据是否出错

    并发容错测试:

    1.对于C/S或B/S系统,要考虑当多个客户端同时新增、修改、删除时是否会造成数据的冲突或不一致等错误

    2.对于C/S或B/S系统,要考虑当多个客户端同时请求系统资源(例如硬盘、内存、CPU等),是否对资源会产生死锁问题

    3.是否允许同一个用户在不同的机器上同时登录

    4.是否允许不同或相同的用户在不同机器上同时进行上传、下载、收发邮件等操作

    环境容错测试:
    1.在网络出现故障时,是否有其他网络进行自动的切换和连接

    2.在系统断电时,是否有其他的供电系统是否能进行自动切换

    3.在系统服务器出现问题时,是否有其他的备用服务器是否能进行自动切换

    转载:https://blog.csdn.net/qq_29656581/article/details/78339895

    展开全文
  • 在大数据处理框架中,可用或者说容错性是很重要的。1、进程级别容错1)worker挂掉,supervisor会重启它。如果它一直重启失败导致无法发送心跳给nimbus,nimbus就会把它分配到别的机器上面2)如果一个机器挂掉了A、...

    在大数据处理框架中,高可用或者说容错性是很重要的。

    1、进程级别容错

    1)worker挂掉,supervisor会重启它。如果它一直重启失败导致无法发送心跳给nimbus,nimbus就会把它分配到别的机器上

    2)如果一个机器挂掉了

    A、如果上面运行的是worker或者task:nimbus无法接收到worker或者说是task心跳。worker会把他们重新分配到别的机器上

    B、如果上面运行的是nimbus或者supervisor:他们是无状态的(所有的状态保存在zookeeper或者磁盘上面),可以自己重启就像没有发生什么事情一样。worker的运行和supervisor没关系,所以对worker没有影响。

    3)nimbus和work同时挂掉,如果nimbus没有做高可用,worker就会丢失。在1.0.0之后nimbus支持高可用了

    ps:spf就是single point of failure,单点故障

    2、ack和fail机制保证消息被处理

    请看spout接口

    public interface ISpout extends Serializable {
        void open(Map conf, TopologyContext context, SpoutOutputCollector collector);
        void close();
        void nextTuple();
        void ack(Object msgId);
        void fail(Object msgId);
    }

    msgId消息唯一id,在数据库中可以为主键

    1)bolt中消息发送成功使用ack;

    2)bolt中消息处理失败发送fail。实际使用的时候,需要使用try catch,把fail发送放在catch块里面,把ack发送放在try块的最后

    在spout的fail方法里面,需要重新发送消息。



    展开全文
  • HBase容错性

    2018-03-14 00:13:33
    HBase容错性 1、Master容错 Zookeeper重新选择一个新的Master 无Master过程中,数据读取仍照常进行; 无Master过程中,region切分、负载均衡等无法进行; 2、RegionServer容错 定时向Zookeeper汇报心跳,...
  • 其中g-限制边连通度和g-限制连通度保证了剩下每个分支之间不连通且每个分支中节点的邻居数目不少于 g,能够更加精准地测量多处理器和多信道系统的容错性和可靠性。平衡超立方体是超立方体的一个变形,它特有的良好...
  • Hadoop容错性

    千次阅读 2012-05-30 15:30:14
    使用Hadoop来运行你的作业的其中一个主要原因就是它的高容错性,就算在由失败率的节点或网络组成的大集群内运行的作业,Hadoop都可以让作业成功完成。  Hadoop实现容错的主要方法就是重新执行任务,单个任务节点...
  • Hadoop的容错性

    千次阅读 2016-09-13 10:57:40
    要谈及Hadoop的容错性,就不得不先从Hadoop的组成说起。Hadoop的1版本可以理解为是由MapReduce离线处理框架和HDFS文件系统组成。而Hadoop的2版本在1的基础上,增加了YARN资源管理系统。因为我自己接触2的时间不长,...
  • 分区容错性: 因为网络等硬件引起的问题,一台服务器崩溃了,保证能在其他服务器上也能顺利完成业务。 可用性: 因为软件代码层面的问题,一台服务器上的服务崩溃了,保证能在其他服务器上完成该业务。 区别: 分区...
  • 分层折叠立方体的容错性分析
  • Kafka容错性测试

    2018-10-17 20:52:04
    这里对kafka的容错性进行测试 由图可以看出,此时有三个kafka进程,副本因子为3,leader是1号block,2,3号是从block,并且此时1,2,3号节点均存活 这个时候我们将3号block的进程强制结束掉 kill -9 20023 ...
  • 研究对比了各种结构的特点,分析结果表明以上3种新型结构的模块化定子开关磁阻电机的制造成本低,维修方便,且由于定子磁极间在电路、磁路和结构上独立,所以电气隔离、磁隔离以及热隔离的能力强,可靠容错性能...
  • 大数据-Kafka容错性

    千次阅读 2018-06-04 19:33:48
    partitionCount: 1 代表分区数为1 replicationFactor: 3 代表副本数为3 replicas:3 1 2 代表副本存放的brokeridIsr : 3 1 2 代表活着的是3 1 2leader: 3 代表broker编号为3 的是leader理解kafka的容错性:(容错...
  • 对于接口得容错性测试 在接口测试中与功能测试中我们一般都会通过几方面去测试 1、接口得正确性(输入正确参数,返回需要得字段与值) 2、接口得错误行(输入错误参数,返回指定参数或状态) 3、接口得边界值(如...
  • 服务容错性设计

    千次阅读 2016-09-30 15:37:06
    服务要有容错设计,为失败而设计。 服务主要异常场景: (1)服务内部出错、异常; (2)服务处理延迟; (3)服务处理过载; (4)网络链路延迟或中断; (5)服务依赖链中部分依赖SLA不达标,造成整体服务不可用;...
  • Bubble-sort星图上的最大容错性
  • Hadoop MapReduce容错性分析

    千次阅读 2016-03-23 15:08:06
    本文讲述Hadoop-0.21.0 以及以上版本中MapReduce的容错机制。包括JobTracker,TaskTracker,Job,Task,Record等级别的容错机制。 1. JobTracker 暂无容错机制,挂掉之后,需要人工介入,重启。 用户...
  • CAP的分区容错性

    千次阅读 2017-04-05 13:58:25
    一直没有理解CAP 中P的分区容错性是什么意思? 系统部分节点出现故障后,连接正常节点还可以使用系统提供的服务
  • hadoop容错性分析

    2014-04-18 13:45:05
    转自:... 本文讲述Hadoop-0.21.0 以及以上版本中MapReduce的容错机制。包括JobTracker,TaskTracker,Job,Task,Record等级别的容错机制。 1. JobTracker 暂无容错机制,挂掉
  • HDFS容错性设计有哪些?

    千次阅读 热门讨论 2021-05-27 22:58:42
    容错性设计HDFS内置了良好的容错性设计策略,以降低各种故障情况下数据丢失的可能性,接下来针对几个常见的分布式故障场景,分析HDFS对应的容错策略。 NameNode故障 NameNode内存中记录了文件系统的元信息,这些元...
  • MapReduce的容错性

    千次阅读 2014-03-05 17:11:02
    MapReduce的容错性,其思路很简单,出问题的话,重做就是了:  1. map: 重执行  2. reduce: 重执行的话,需要保存中间数据,否则reduce一旦坏了的话,之前的取得的数据全部浪费了,这也是为什么reduce不使用诸如 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 191,949
精华内容 76,779
关键字:

容错性高