网站首页 > 技术文章 正文
在一个阳光明媚的周二下午,我正沉迷于一款敲好玩的游戏,这时候女朋友打来电话。
晚上下班后,女朋友回到家里面和我说,发现淘宝无法访问的十几分钟后又可以了。
?
?
系统可用性
系统的可用性,英文名字为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
来源:漫话编程编辑:Quanta Yuan
近期热门文章Top10
↓ 点击标题即可查看 ↓
1. 物理定律告诉你,爱情的真相有多么残酷!
2. 玉皇大帝到底住在平流层还是对流层?
3. 玻璃球里的花纹是怎么弄进去的?看完童年之谜终于解开了
4. 不要模仿!把两颗葡萄一起放进微波炉 ,能烧得你家都没了
5. 仰望星空100年
6. 不知道这些,别说你看懂了《流浪地球》
7. 如何批量制造钻石
8. 杨-米尔斯理论说了啥?为什么说这是杨振宁超越他诺奖的贡献?
9. 怎么避免上厕所没有纸?看完这篇文章你就懂了
10. 牛顿棺材板压不住时,请祭出此物防身!
猜你喜欢
- 2024-11-17 Oracle Primavera P6软件建立项目进度控制体系
- 2024-11-17 什么是客户流失以及如何防止?(客户流失的原因有哪些,如何防范)
- 2024-11-17 Oracle P6软件项目进度控制原则(oracle系统进程)
- 2024-11-17 数据库 SQL 高级用法(一)(sql语句的高级用法)
- 2024-11-17 什么是数据仓库,以及我为什么需要它?
- 2024-11-17 需求直通率:产品团队提升效率的一个重要绩效指标
你 发表评论:
欢迎- 07-10Oracle 与 Google Cloud 携手大幅扩展多云服务
- 07-10分享收藏的 oracle 11.2.0.4各平台的下载地址
- 07-10Oracle 和 Microsoft 推出 Oracle Exadata 数据库服务
- 07-10Oracle Database@Azure 推进到南美等新区域并增加了新服务
- 07-10Oracle宣布推出 Oracle Database@AWS 的有限预览版
- 07-10Oracle与Nextcloud合作,推出主权云上的安全协作平台
- 07-10NodeRED魔改版连接MsSql、PostgreSQL、MySQL、OracleDB存储无忧
- 07-10对于企业数据云备份,“多备份”承诺的是成本更低,管理更高效#36氪开放日深圳站#
- 605℃几个Oracle空值处理函数 oracle处理null值的函数
- 597℃Oracle分析函数之Lag和Lead()使用
- 584℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 581℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 576℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 570℃【数据统计分析】详解Oracle分组函数之CUBE
- 557℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 550℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- Oracle 与 Google Cloud 携手大幅扩展多云服务
- 分享收藏的 oracle 11.2.0.4各平台的下载地址
- Oracle 和 Microsoft 推出 Oracle Exadata 数据库服务
- Oracle Database@Azure 推进到南美等新区域并增加了新服务
- Oracle宣布推出 Oracle Database@AWS 的有限预览版
- Oracle与Nextcloud合作,推出主权云上的安全协作平台
- NodeRED魔改版连接MsSql、PostgreSQL、MySQL、OracleDB存储无忧
- 对于企业数据云备份,“多备份”承诺的是成本更低,管理更高效#36氪开放日深圳站#
- 解读丨《归档文件整理规则》— 电子文件元数据存储
- Data Guard跳归档恢复的实践(dataguard failover)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (57)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)