随想录(软件系统稳定性)

来源:互联网 发布:淘宝佣金推广 接口 编辑:程序博客网 时间:2024/06/05 05:58


【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】


    开发人员都知道,稳定性是评价软件质量的一个重要目标。但是如果涉及到软件系统,那么涉及的内容就很多了,除了软件本身,硬件、网络、运营商等都需要考虑。就拿市场上比较常见的云系统稳定性来说,一般有两个数据是大家比较关注的。一个是软件稳定性,要达到99.95%,另外一个就是数据的稳定性,要达到百万分之一,细算算,这些要求其实都不低。为了说明差异,我们可以按照90%开始,逐步解释软件的稳定性究竟是什么样的要求。


    1)90%稳定性

    如果说一个软件稳定性是90%,那么意味着这个软件一年中有5个星期是不能用的,这种质量基本是不能接受的。


    2)99%稳定性

    99%的稳定性,说明软件在运行的过程中,一年中最多只有3、4天可以无法运行。也许很多人会说,99%应该很容易。但是,大家要注意,很有可能软件是在晚上出问题的。一旦软件在晚上发生事故,如果没有人及时处理的话,基本上十几个小时就过去了。晚上尚且如此,要是遇到周末、节假日呢,所以99%的软件质量也不是所有人都能达到的。


    3)99.9%稳定性

    99.9%的稳定性,这说明一年365天当中,允许软件失败的时间总长只有8个多小时。对于很多公司来说,8个小时都不够晚上升级软件使用的,因此99.9%对于他们来说几乎是不可能完成的任务。当然,要想达到这种稳定性,除了冗余设计之外,必要的自动检测和自动切换系统也是必要的,否则要想做到99.9%的稳定性几乎是不可能的。


    4)99.99%稳定性

    四个9的稳定性,就真的很难了,它意味着一年只允许50多分钟失败。上次百度移动搜索失败,一下子无法服务几十分钟,所以我们大概可以判断百度的软件稳定性应该是低于4个9的,要知道这只是一次失败的累积时间。


    5)99.999% 和 99.9999%稳定性

    这种稳定性我自己也没有见到过,猜想大概只有军工才会不计成本地做到这一点。5个9意味着失效时间是5、6分钟,而6个9则是几十秒。要做到这一点,除了软件本身,要做的太多了。软件设计、系统软件设计、数据库设计、监控设计、硬件冗余设计、电源设计、数据备份设计、网络设计、自动切换设计、跨区域冗余设计、冷却系统设计、备用电源设计,想想真愿意做这些的又不差钱的,估计只有军队了。能不能做的起来还是一个问题。


    看了上面这些,大家可以自己想一下,那些号称很稳定的软件公司是不是真正做到这一点了呢?



2 0
原创粉丝点击