0 概述

本文主要介绍如何设计一个可靠性、可扩展性
、可维护性数据系统。

1 可靠性(Reliability)

  • 应用程序表现出用户所期望的功能。
  • 允许用户犯错,允许用户以出乎意料的方式使用软件。
  • 在预期的负载和数据量下,性能满足要求。
  • 系统能防止未经授权的访问和滥用。
    硬件故障:如某个机房或者某个机器挂了(内存问题、磁盘问题等),整个系统对外仍旧可以正常使用。一般策略是异地多活,当某一个机房挂了,其它机房仍旧可以继续提供服务,硬件故障一般不会同时发生。
    软件故障:如JVM bug,在接受特定输入触发;操作系统bug,在特定输入条件会死机。导致这类软件故障的BUG通常会潜伏很长时间,直到被异常情况触发为止。这类故障没有快速恢复办法,可以通过重启应用。可以通过做好监控、测量并分析系统行为。
    人为错误:设计并构建了软件系统的工程师是人类,维持系统运行的运维也是人类。系统配置错误、代码bug(如边界条件),异常处理问题等。如何降低人为的错误:1)以最小化犯错机会的方式设计系 2)将人们最容易犯错的地方与可能导致失败的地方解耦 3)在各个层次进行彻底的测试,从单元测试、全系统集成测试到手动测试 4)允许从人为错误中简单快速地恢复,以最大限度地减少失效情况带来的影响。如快速回滚,灰度、分批发布等策略。5)明确的系统监控,比如性能指标和错误率。

2 可扩展性(Scalability&#x

可靠性,可扩展性,可维护性相关推荐

  1. 《Designing Data-Intensive Application》01数据系统的基石-可靠性/可扩展性/可维护性

    <Designing Data-Intensive Application> 序言 本书的目标读者 本书涉及的领域 本书纲要 参考文献与延伸阅读 致谢 第一部分 数据系统的基石 第一章:可 ...

  2. 服务器的可维护性,可靠性和可维护性

    可靠性和可维护性 可靠性一直是戴尔服务器产品线的一大亮点,R515也不例外.如内部结构所示,当你打开R515机箱的时候,你可以很明显地看到风扇的数量.分布的各个组件和双电源机箱.你也可以感觉出从中取出 ...

  3. [机缘参悟-68]:深度思考-人的心理系统与软件系统模型与性能指标比较(可用性、可靠性、可维护性、鲁棒性、适应性、反脆弱性、成熟性)--- 人工智能启示

    目录 1. 程序: 2. 进程与进程间通信 2.1 什么是进程 2.2 线程 2.3 进程间通信 3. 人与人交往 3.1 个人 3.2 人际关系 4. 从软件程序的角度看人与人交往 4.1 网络 V ...

  4. LED Designing

    旧版地址:http://www.shanhubei.com/wenruo/ 查看全文 http://www.taodudu.cc/news/show-2757061.html 相关文章: [软件构造] ...

  5. 大数据入门 - 基础概念

    文章目录 1. 发展历史 2. 分布式系统 可靠性 可扩展性 可维护性 4. 单机引擎的问题 事务 写入和存储 数据的序列化 3. GFS(Google File System) master 的快速 ...

  6. 科普一下,什么是网站系统的性能,可用性,可伸缩性,可扩展性?

    最近在读李智慧大拿写的<<大型网站技术架构--核心原理与案例分析>,其中第三节提到了大型网站的核心架构要素,感觉受益匪浅,总结的非常到位.读完之后,马上总结一下,也算是对自己爱不释手 ...

  7. 笔记-知识产权与标准化知识-计算机软件可靠性和可维护性管理的评审要求

    根据<软件可靠性和可维护性管理GB/T14394-2008>可知:软件可靠性和可维护性有关的具体评审包括:概念评审.需求评审.设计评审.测试评审.安装和验收评审.软件用户手册评审. < ...

  8. 读书笔记-可靠性工程师前言

    1.通用质量特性:可靠性.维修性.测试性.保障性.安全性.环境适应性. 感受:对于软件测试为,可靠性.可维护性.易测性.方法论.安全性.兼容性. 对于产品技术中心,稳定性即可靠性为第一位. 2.质量: ...

  9. 软件测试基础 按照测试对象划分 界面测试(UI测试.响应式页面 可靠性测试 容错性测试 文档测试 平台测试 易用性测试等

    软件测试进阶 1.APP 的测试 2. 按照测试对象划分 2.1界面测试(UI测试) 3.响应式页面 4.可靠性测试 5.容错性测试 6.文档测试 7.平台测试: 7.1 PC: 7.2.手机端: 8 ...

  10. 试论软件的可靠性及其保证

    试论软件的可靠性及其保证 来源:ChinaItLab 用软件系统规模越做越大越复杂,其可靠性越来越难保证.应用本身对系统运行的可靠性要求越来越高,在一些关键的应用领域,如航空.航天等,其可靠性要求尤为 ...

最新文章

  1. TensorFlow可以做什么?让Google Brain首席工程师告诉你
  2. python中time()时间的相关问题
  3. android网格布局间距,android – 删除回收站视图网格布局中的默认间距
  4. 20+个很棒的Android开源项目
  5. SLF4J: The requested version 1.5.8 by your slf4j
  6. 公差与配合查询计算过程讲解
  7. 【电子设计】AD15快捷键整理
  8. Altium20版本快速批量修改Comment使之与Value相同
  9. 计算机组装大赛活动感悟,计算机组装大赛总结参考
  10. Android AndroidManifest.xml文件权限出现“Permission is only granted to system apps”的解决办法
  11. U8g2 图形库必备!试试这几个即时生效的界面工具
  12. 牛顿二项式定理(广义二项式定理)
  13. 数字炸弹游戏c语言,数字炸弹游戏作文500字
  14. 呼吸灯(Verilog)
  15. android 5.1 flash,Flash Player for Android 4.0 and 5.1 以上版本(提供下載)
  16. 【MATLAB】求Taylor展开式
  17. [leetcode]322. 零钱兑换(Coin Change )C++代码实现
  18. 【C++】洛谷P1873 [COCI 2011/2012 #5] EKO / 砍树
  19. “无人驾驶汽车系统入门”博客专栏
  20. 876. 链表的中间结点 (Python 实现)

热门文章

  1. 深入学习Java序列化
  2. 销售原理知识需要学习吗 如何系统学习销售
  3. 重场景轻应用,联想企业网盘驱动信托业办公模式变革
  4. sparksql Error in query: resolved attribute(s)报错分析
  5. 在jquery中使用AJAX
  6. java邮件抄送_Java发送邮件遇到的常见需求汇总
  7. 整合swagger文档
  8. C++ 偏微分数值计算库_蒙特卡罗计算积分 - 人工智能遇见磐创
  9. 大脚怪NFT登场!Mythical Beings第四季Sasquatch珍藏
  10. ARFoundation系列讲解 - 72 AR测距二