本文经授权转载自漫话编程(ID:mhcoding)

前阵子淘宝挂了后,女朋友回到家里面和我说,发现淘宝无法访问的十几分钟后又可以了。

系统可用性

系统的可用性,英文名字为System Usability,即系统服务不中断运行时间占实际运行时间的比例。所以,可用性其实是一个百分比,如99.9%。

我们通常会听说一个词:高可用,其实指的就是高可用性。高可用指的就是系统服务不中断运行时间占实际运行时间的占比更大。

要了解可用性,躲不开的三个体现系统可用性的重要指标:MTTR、MTTF、MTBF。

MTTF 即 Mean Time To Failure,中文为:平均无故障时间。指系统无故障运行的平均时间,取所有从系统开始正常运行到发生故障之间的时间段的平均值。

MTTR 即 Mean Time To Repair,中文为:平均修复时间,指系统从发生故障到维修结束之间的时间段的平均值。

MTBF 即 Mean Time Between Failure,中文为:平均失效间隔,指系统两次故障发生时间之间的时间段的平均值。

上图,就是一张可以提现三者之间关系的图。可以看出:

MTBF = MTTF + MTTR

按照以上概念,那么系统的可用性指的其实就是:MTTF / MTBR * 100% 即 MTTF / ( MTTF + MTTR ) * 100%

在实际的情况中,很多系统都是由若干个子系统组成的,那么整个系统的可用性到底该如何计算呢?我们接着来了解下系统结构。

对于串联系统:


对于并联系统:


对于组合系统:


可用性的衡量

衡量系统的高可用性,一般通过SLA,全称Service Level Agrement,也就是有几个9的高可用性。我们经常可以看到很多公司会宣称自己的系统可以达到99.99%、99.999%等。

工业界通常通过统计故障发生到恢复的时间的方法来测量SLA。一般以年度为单位,统计一年内的系统不可用总时长。具体对应关系如下表:


墨菲定律说 “会出错的事总会出错”,可用性做到 100 是可望而不可及的。

对于 SLA 指标来说,9 的数字越多可用性越高,宕机时间越少,系统就可以在给定的时刻内高比例地正常工作。然而对系统的挑战就越大,投入的成本也会越高。比如 5 个 9 要求系统每年只宕机 5 分钟左右,而 4 个 9 要求每年宕机时间不超过一个小时。这就使得系统需要在设计、基础设施、数据备份等不同层面采取多种方式,甚至增加基础设施投资来保证可用性。

“当你的设备处理人命关天的事情,或业务中断一分钟就会损失百万美刀,那么你可以考虑 99.99% 的可靠性。” Robertson(Linux 高可用项目开发者)

不同系统的可用性要求也是不同的,比如:淘宝、京东等这些电商系统用户量很多,不同区不同时刻都有大量的用户在使用系统,这必然对系统的可用性要求很高。

据以往这些系统的故障统计和不准确地测试数据推测,它们目前的可用性是在 3 个 9 到 4 个 9 左右。相对而言,企业类的工作软件因为通常只在工作时间被使用,或只在某些特定的地区使用,或只给某部分人某一特定时间使用,可用性的需求就会低一些。

可用性的保障

影响可用性的因素有很多,包括系统故障、基础设施故障、数据故障、安全攻击、系统压力等等。

可用性的保障涉及到很多层面,其中包括但不限于了:

  • 软件的设计、编码、测试、上线和软件配置管理的水平

  • 工程师的人员技能水平

  • 运维的管理和技术水平

  • 数据中心的运营管理水平

  • 依赖于第三方服务的管理水平

  • 对待技术的态度

  • 一个公司的工程文化

  • 领导者对工程的尊重

下面的表格里,列出了高可用常见的问题和应对措施。


保障系统的高可用,并不是一个简单的事情,上表中列举的也只是其中一部分方法论,真正的保证高可用,还是需要大量实践的!

参考资料:

https://blog.csdn.net/hexieshangwang/article/details/49126159

https://dev.to/fangdajiang/-abilities-8e1

https://www.oracle.com/technetwork/cn/community/developer-day/7-critical-busi-sys-solution-360101-zhs.pdf

https://coolshell.cn/articles/17459.html

https://blog.csdn.net/hustspy1990/article/details/78008324

【End】

作为码一代,想教码二代却无从下手:

听说少儿编程很火,可它有哪些好处呢?

孩子多大开始学习比较好呢?又该如何学习呢?

最新的编程教育政策又有哪些呢?

下面给大家介绍CSDN新成员:极客宝宝(ID:geek_baby)

戳他了解更多↓↓↓

 热 文 推 荐 

☞IoT 时代,安全危机爆发

☞从月薪 1000 到 2W+,文科生如何逆袭成为大厂程序员?

☞Python 让蔡徐坤在我的命令行里打篮球!

☞零编程基础、大龄全职妈妈是如何写出两个商业网站的?

☞下过富士康工厂、做过华为外包,这位程序员是如何花 6 年逆袭成为技术大佬的?

☞《权力的游戏》最终季上线!谁是你最喜爱的演员?这里有一份Python教程 | 附源码

☞微服务落地,我们在考虑什么?| 技术头条

☞爆料! 18张图、55个链接, 证据都在这了, 你还说自己是中本聪?

☞程序员被骗"黑砖窑":监禁、恐吓、996无休编程!

System.out.println("点个在看吧!");
console.log("点个在看吧!");
print("点个在看吧!");
printf("点个在看吧!\n");
cout << "点个在看吧!" << endl;
Console.WriteLine("点个在看吧!");
Response.Write("点个在看吧!");
alert("点个在看吧!")
echo "点个在看吧!"

你点的每个“在看”,我都认真当成了喜欢

漫画:如何给女朋友解释什么是系统可用性?| 技术头条相关推荐

  1. 漫话:如何给女朋友解释什么是系统可用性? | 技术头条

    戳蓝字"CSDN云计算"关注我们哦! 技术头条:干货.简洁.多维全面.更多云计算精华知识尽在眼前,get要点.solve难题,统统不在话下! 转自:漫话编程 在一个阳光明媚的周二下 ...

  2. 漫话:如何给女朋友解释什么是系统可用性?

    来自:漫话编程 在一个阳光明媚的周二下午,我正在公司里面看着即将发布的Java 12的新特性,这时候女朋友打来电话. 晚上下班后,女朋友回到家里面和我说,发现淘宝无法访问的十几分钟后又可以了.  ...

  3. 漫画:给女朋友解释为什么随机播放歌曲并不随机

    本文经授权转载自漫话编程(ID:mhcoding) 2019程序员转型学什么? https://edu.csdn.net/topic/ai30?utm_source=csdn_bw 周末,开车带女朋友 ...

  4. 漫画:如何求图的最短路径? | 技术头条

    作者 | 程序员小灰 本文经授权转载自程序员小灰(ID:chengxuyuanxiaohui) -----  第二天  ----- 小灰的思路如下: 第一步,利用迪杰斯特拉算法的距离表,求出从顶点A出 ...

  5. 漫画:如何给女朋友解释灭霸的响指并不是真随机消灭半数宇宙人口的?

    本文经授权转载自漫话编程(ID:mhcoding) 周末,陪女朋友去电影院看了<复仇者联盟4:终局之战>,作为一个漫威粉三个小时看的是意犹未尽.出来之后,准备和女朋友聊一聊漫威这十年. 在 ...

  6. 漫画:如何给女朋友解释灭霸的指响并不是真随机消灭半数宇宙人口的?

    本文经授权转载自漫话编程(ID:mhcoding) 周末,陪女朋友去电影院看了<复仇者联盟4:终局之战>,作为一个漫威粉三个小时看的是意犹未尽.出来之后,准备和女朋友聊一聊漫威这十年. 在 ...

  7. 漫画:如何给女朋友解释什么是适配器模式?

    本文经授权转载自漫话编程(ID:mhcoding) 责编 | 伍杏玲 周末窝在家里面打王者荣耀,女朋友在旁边玩我的电脑,我嫌她播放的综艺节目声音比较大,于是建议她戴耳机. 适配器模式 Adapter ...

  8. 漫画:如何给女朋友解释什么是单例模式?| 技术头条

    责编 | 伍杏玲 本文经授权转载自漫话编程(ID:mhcoding) 周末了,临近五一劳动节,女朋友还没有想好要去哪里玩,还在看着各种攻略.我则在旁边一边看书默默的心疼着我的钱包.突然女朋友开始发问: ...

  9. 漫画:如何给女朋友解释为什么200M宽带,打王者荣耀还是会有460的延迟?

    本文经授权转载自漫话编程(ID:mhcoding) 周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我. 大概过了10分钟左右,我听到了一声:&quo ...

最新文章

  1. CentOS6静态网络配置
  2. MediaPlayer开发全解析
  3. J .U.C 中的原子操作类
  4. qsub 指定节点_PBS,QSUB常用命令
  5. Elasticsearch 简介入门
  6. 【李宏毅2020 ML/DL】P81 Generative Adversarial Network | Intelligent Photo Editing
  7. ESRI ArcGIS 9.0系列软件报价
  8. 使用Async方法 Using Async Methods 精通ASP-NET-MVC-5-弗瑞曼 Listing 4-32.
  9. 让ajax更加友好,实时显示后台处理进度。
  10. 计算机电源模式怎么删,电脑的电源选项里只剩下了平衡模式怎么办?
  11. 干货分享:如何把APP软文推广做到好
  12. 服务器装系统03系统,服务器系统安装windows2003教程
  13. 小地鼠偷吃萝卜(模板)
  14. 昆仑通态人机界面与单片机通信实战教程二:脚本驱动的设计
  15. 一位计算机专业硕士毕业生的求职经历和感想[转载]
  16. 指标归因平台建设思路
  17. Java通过JfreeChart生成转Base64图片字符串(饼图、折线图、柱状图、折线图-多条、3D柱状图、气泡图、时序图、曲线图、区域图、分布图、联合分类图、双X轴图、K线图、柱状图-横向等图)
  18. 【TypeScript】---基础类型
  19. 人类无法通过时光机器回到过去
  20. 西门子变频器G120智能操作面板的功能和特点分享

热门文章

  1. mysql 设置男女约束
  2. [论文阅读] TransUNet: Transformers Make Strong Encoders for Medical Image Segmentation
  3. 矩池云安装利用pip、apt、conda安装需要的包
  4. python元编程 实际应用_Python元编程
  5. 剑指Offer之寻找链表中环的入口问题
  6. 基本的Material Design布局结构
  7. 2021-2025年中国船用辅机行业市场供需与战略研究报告
  8. updatechecker.java_Mybatis中出现net.sf.ehcache.util.UpdateChecker.checkForUpdate问题解决方案...
  9. 广义表头尾链表存储结构_单向循环链表的存储结构和操作
  10. 程序员笑话集锦之丈夫与妻子篇