可靠性,可扩展性,可维护性
0 概述
本文主要介绍如何设计一个可靠性、可扩展性
、可维护性数据系统。
1 可靠性(Reliability)
- 应用程序表现出用户所期望的功能。
- 允许用户犯错,允许用户以出乎意料的方式使用软件。
- 在预期的负载和数据量下,性能满足要求。
- 系统能防止未经授权的访问和滥用。
硬件故障:如某个机房或者某个机器挂了(内存问题、磁盘问题等),整个系统对外仍旧可以正常使用。一般策略是异地多活,当某一个机房挂了,其它机房仍旧可以继续提供服务,硬件故障一般不会同时发生。
软件故障:如JVM bug,在接受特定输入触发;操作系统bug,在特定输入条件会死机。导致这类软件故障的BUG通常会潜伏很长时间,直到被异常情况触发为止。这类故障没有快速恢复办法,可以通过重启应用。可以通过做好监控、测量并分析系统行为。
人为错误:设计并构建了软件系统的工程师是人类,维持系统运行的运维也是人类。系统配置错误、代码bug(如边界条件),异常处理问题等。如何降低人为的错误:1)以最小化犯错机会的方式设计系 2)将人们最容易犯错的地方与可能导致失败的地方解耦 3)在各个层次进行彻底的测试,从单元测试、全系统集成测试到手动测试 4)允许从人为错误中简单快速地恢复,以最大限度地减少失效情况带来的影响。如快速回滚,灰度、分批发布等策略。5)明确的系统监控,比如性能指标和错误率。
2 可扩展性(Scalability&#x
可靠性,可扩展性,可维护性相关推荐
- 《Designing Data-Intensive Application》01数据系统的基石-可靠性/可扩展性/可维护性
<Designing Data-Intensive Application> 序言 本书的目标读者 本书涉及的领域 本书纲要 参考文献与延伸阅读 致谢 第一部分 数据系统的基石 第一章:可 ...
- 服务器的可维护性,可靠性和可维护性
可靠性和可维护性 可靠性一直是戴尔服务器产品线的一大亮点,R515也不例外.如内部结构所示,当你打开R515机箱的时候,你可以很明显地看到风扇的数量.分布的各个组件和双电源机箱.你也可以感觉出从中取出 ...
- [机缘参悟-68]:深度思考-人的心理系统与软件系统模型与性能指标比较(可用性、可靠性、可维护性、鲁棒性、适应性、反脆弱性、成熟性)--- 人工智能启示
目录 1. 程序: 2. 进程与进程间通信 2.1 什么是进程 2.2 线程 2.3 进程间通信 3. 人与人交往 3.1 个人 3.2 人际关系 4. 从软件程序的角度看人与人交往 4.1 网络 V ...
- LED Designing
旧版地址:http://www.shanhubei.com/wenruo/ 查看全文 http://www.taodudu.cc/news/show-2757061.html 相关文章: [软件构造] ...
- 大数据入门 - 基础概念
文章目录 1. 发展历史 2. 分布式系统 可靠性 可扩展性 可维护性 4. 单机引擎的问题 事务 写入和存储 数据的序列化 3. GFS(Google File System) master 的快速 ...
- 科普一下,什么是网站系统的性能,可用性,可伸缩性,可扩展性?
最近在读李智慧大拿写的<<大型网站技术架构--核心原理与案例分析>,其中第三节提到了大型网站的核心架构要素,感觉受益匪浅,总结的非常到位.读完之后,马上总结一下,也算是对自己爱不释手 ...
- 笔记-知识产权与标准化知识-计算机软件可靠性和可维护性管理的评审要求
根据<软件可靠性和可维护性管理GB/T14394-2008>可知:软件可靠性和可维护性有关的具体评审包括:概念评审.需求评审.设计评审.测试评审.安装和验收评审.软件用户手册评审. < ...
- 读书笔记-可靠性工程师前言
1.通用质量特性:可靠性.维修性.测试性.保障性.安全性.环境适应性. 感受:对于软件测试为,可靠性.可维护性.易测性.方法论.安全性.兼容性. 对于产品技术中心,稳定性即可靠性为第一位. 2.质量: ...
- 软件测试基础 按照测试对象划分 界面测试(UI测试.响应式页面 可靠性测试 容错性测试 文档测试 平台测试 易用性测试等
软件测试进阶 1.APP 的测试 2. 按照测试对象划分 2.1界面测试(UI测试) 3.响应式页面 4.可靠性测试 5.容错性测试 6.文档测试 7.平台测试: 7.1 PC: 7.2.手机端: 8 ...
- 试论软件的可靠性及其保证
试论软件的可靠性及其保证 来源:ChinaItLab 用软件系统规模越做越大越复杂,其可靠性越来越难保证.应用本身对系统运行的可靠性要求越来越高,在一些关键的应用领域,如航空.航天等,其可靠性要求尤为 ...
最新文章
- TensorFlow可以做什么?让Google Brain首席工程师告诉你
- python中time()时间的相关问题
- android网格布局间距,android – 删除回收站视图网格布局中的默认间距
- 20+个很棒的Android开源项目
- SLF4J: The requested version 1.5.8 by your slf4j
- 公差与配合查询计算过程讲解
- 【电子设计】AD15快捷键整理
- Altium20版本快速批量修改Comment使之与Value相同
- 计算机组装大赛活动感悟,计算机组装大赛总结参考
- Android AndroidManifest.xml文件权限出现“Permission is only granted to system apps”的解决办法
- U8g2 图形库必备!试试这几个即时生效的界面工具
- 牛顿二项式定理(广义二项式定理)
- 数字炸弹游戏c语言,数字炸弹游戏作文500字
- 呼吸灯(Verilog)
- android 5.1 flash,Flash Player for Android 4.0 and 5.1 以上版本(提供下載)
- 【MATLAB】求Taylor展开式
- [leetcode]322. 零钱兑换(Coin Change )C++代码实现
- 【C++】洛谷P1873 [COCI 2011/2012 #5] EKO / 砍树
- “无人驾驶汽车系统入门”博客专栏
- 876. 链表的中间结点 (Python 实现)
热门文章
- 深入学习Java序列化
- 销售原理知识需要学习吗 如何系统学习销售
- 重场景轻应用,联想企业网盘驱动信托业办公模式变革
- sparksql Error in query: resolved attribute(s)报错分析
- 在jquery中使用AJAX
- java邮件抄送_Java发送邮件遇到的常见需求汇总
- 整合swagger文档
- C++ 偏微分数值计算库_蒙特卡罗计算积分 - 人工智能遇见磐创
- 大脚怪NFT登场!Mythical Beings第四季Sasquatch珍藏
- ARFoundation系列讲解 - 72 AR测距二