任何一个互联网公司的CTO对系统的稳定性都会非常重视,这关系到他的个人尊严(毕竟是首席技术官,虽然有时候他们对技术本身不太重视)以及是否可以长期在公司待下去,如果系统时不时就宕机不可用,尤其是做2C业务的公司,那后果不堪设想,下面我就以10几年的IT从业经历,抛砖引玉,聊一聊系统高可用的话题。

计算机系统的可用性定义为:A  = MTBF/(MTBF+MTTR) * 100%,MTTR (Mean Time To Repair,平均修复时间),MTBF (Mean Time Between Failure,平均故障间隔),MTTF (Mean Time To Failure,平均无故障时间),MTBF = MTTF + MTTR,由于MTTR远远小于MTBF,所以一般情况下认为MTBF = MTTF。

7*24小时无间断服务示意图:

99.9%  = 0.1% * 365 * 24 * 60 = 525.6min,99.99% =  0.01% * 365 * 24 * 60 = 52.56min,2个9是基本可用,3个9是较高可用,4个9是具有自动恢复能力的高可用,5个9是极高可用性,假设我们需要达到 4 个 9 的可用性(99.99%),全年的不可用时间52.56分钟,每个月的不可用时间 4.38 分钟,大的公有云厂商对外提供的服务等级协议(Service-Level Agreement, SLA)可达到4个9,严格按照公式计算,真正做到4个9的都很少 ,Twitter 据说也只有2个9。

投入和可用性的关系:

从上图可以看出,随着可用性的提高,投入所产出的可用性边际效益越来越小。一般公司对外宣称的高可用其实只是商业策略,很多时候高可用并不是公司主要考虑的因素,真正促使它提供高可用服务的还是背后的直接经济利益和造成事故时需要赔偿的名誉和金钱损失,依稀记得2015年5月28日携程网瘫痪事件,按照携程一季度财报公布的数据,携程宕机的损失为平均每小时106.48万美元。

墨菲定律其实已经是一个几乎所有地球人都知道的定律了,它在大多数的时候都会被解释成凡是可能出错的事情就一定会出错,任何一个线上的服务能够正常运行都是极其偶然的,只要时间拉的足够长,我们就没有办法保证任何服务100% 的可用性,虽然高可用只是一种商业策略,但是我们还是可以采用一些手段来提升可用性,冗余复制,灾备切换是高可用的不二法门,高可用性是由多个层次组件共同决定的,一个应用的最终可用性计算如下:A(x) = A_IDC(x) * A_ISP(x) * A_ROUTER(x) * A_Hardware(x) * A_APP(x) * A_DB(x) * A_Dependency(x)...

网络:多DNS、多IDC、多线、多CDN、冗余路由器、双链路、双网卡...

负载均衡:LVS集群、HAProxy集群、Nginx upstream...

应用系统:master/slave、master/master

数据库、缓存、存储:master/slave

磁盘:RAID-n

电源:双电源

风扇:...

从可用性度量公式 A  = MTBF / (MTBF+MTTR),可以看出,提高可用性无非两个途径:

1、提高 MTBF ,少出故障

2、减少 MTTR ,快速修复故障

以在京东商城一线核心研发的工作经验和后来去电商创业公司做技术委员会主席的经验,总结如下,欢迎拍砖。

推荐阅读:

技术(二)

技术(五)

技术(六)

CTO眼中的系统高可用相关推荐

  1. 1.25亿用户以后,Netflix总结的系统高可用经验

    http://www.sohu.com/a/249521297_355140 Netflix 可谓是硅谷最酷的公司之一,其企业文化也备受推崇:这家公司没有 CTO,只保留高效能人士,不论公司发展如何都 ...

  2. 【Java从0到架构师】Zookeeper - 系统高可用、分布式的基本概念、Zookeeper 应用场景

    分布式基石 Zookeeper 框架全面剖析 系统高可用 集群 - 主备集群.主从集群.普通集群 分布式(系统部署方式) 微服务(架构设计方式) 分布式的基本概念 分布式存储.分布式计算 分布式协调服 ...

  3. 金融IT系统高可用运维经验总结—人员、技术、流程

    金融IT系统高可用运维经验总结-人员.技术.流程 金融行业具有垄断性.指标性.高风险性的特点,是国家巨额资金的集散中心,涉及到国民经济的各个部门,任何不稳定因素都有可能导致"多米诺骨牌效应& ...

  4. 高并发系统高可用设计方案(一)

    什么是高可用 互联网应用是面向大众的应用系统,他们可能会随时会被使用,那么应用就必须要保持随时可用,也就是我们常说的7x24小时可用,但是互联网应用有可能会遇到硬件故障,软件故障等多种问题,可能导致服 ...

  5. 系统高可用之健康检查和健康度量那些事

    一.前言 随着人们的生活水平的不断提高,人们对身体健康越来越重视,很多人都做过体检,一般公司都会有一年一度的体检福利,健康体检是家喻户晓了. 随着互联网的快速发展,同类同质产品之间的竞争越来越大,产品 ...

  6. IP对讲服务器源码,IP广播对讲融合调度系统高可用设计

    原标题:IP广播对讲融合调度系统高可用设计 云翌IP广播对讲系统基于NGN架构,使用国际标准SIP协议,具有极好的兼容性和功能可扩展性.可实现"语音广播+对讲+多媒体控制台"整体解 ...

  7. 可用性高达5个9!支付系统高可用架构设计实战

    可用性高达5个9!支付系统高可用架构设计实战 一.背景 对于互联网应用和企业大型应用而言,多数都尽可能地要求做到7*24小时不间断运行,而要做到完全不间断运行可以说"难于上青天". ...

  8. 应对618,京东到家订单系统高可用架构的迭代实战

    闫文广 京东到家后台研发部架构师 从事支付系统.计费系统和订单履约系统等后台领域的研发,现专注于订单中心架构优化和研发相关的工作. 大家好,我是京东到家后台研发部的架构师闫文广,今天将给大家分享京东到 ...

  9. 支付系统高可用架构设计实战,可用性高达99.999!

    作者:冯忠旗 来源:juejin.im/post/5cfde01bf265da1bba58f863 一.背景 对于互联网应用和企业大型应用而言,多数都尽可能地要求做到7*24小时不间断运行,而要做到完 ...

最新文章

  1. 天津12月计算机二级报名入口,2019年12月天津计算机二级考试报名入口已开通
  2. Python学习-字符编码的理解
  3. GML、SVG、VML的比较
  4. 6.MySQL图形化工具的使用
  5. 八十一、使用Springboot实现发邮件的需求
  6. 【解题报告】Leecode 2059. 转化数字的最小运算数
  7. 从exe4j生成的exe中抽取jar文件
  8. linux的文件系统架构
  9. jquery练习——简单的图片结果展示效果
  10. linux用户登录失败,锁定用户
  11. python修改txt里面的内容_python修改txt部分内容,并保存。
  12. 软件工程毕设(五)·外文翻译
  13. JSP教程:学习路线和开发工具安装视频
  14. 海马苹果助手ipad版_不惧掉签 | 苹果IPA安装包,免费自签教程
  15. 中兴CS大赛推3G营销
  16. Android 4.4 Kit Kat 源码下载
  17. Android开发——如何设计开发一款Android App
  18. 体验篇 - 部署以太坊私有链 (PoA)
  19. vue3.0 scss一键换肤
  20. 站点地图-SiteMap

热门文章

  1. Cura软件的参数设置
  2. schnorr签名和batch verification
  3. ict技术(信息与通信技术)
  4. PC端各浏览器布局兼容问题【Chrome、Firefox、IE】——长期更新
  5. 第十二章 逐步回归和通径分析
  6. Kinect摄像头简介
  7. 7.5 uipath使用outlook发送邮件
  8. 基于RabbitMQ 的 Web MQTT插件进行前端消息实时推送
  9. Centos 6.5 x64 安装 虚拟专用网 服务器
  10. Microsoft Project 2010 (Beta)下载