《DDIA》读书笔记(一):可靠性、可扩展性、可维护性

《DDIA》读书笔记(一):可靠性、可扩展性、可维护性
这一节描述了密集型应用的基本思考方式。

  1. 可靠性。意味着系统发生故障,也能保持正常的运行。故障会集中在三个方面,硬件故障(通常是随机和不相关的)、软件故障(通常是系统性的bug,较难发现,较难处理),人为故障(不可避免得时不时出错)。
    提供合理的容错技术能够隐藏某一些类型的故障。
  2. 可扩展性。意味着在负载增加的情况下也有保持性能的策略。通过推特主页的时间线为例,描述了负载和性能之间的关系。在可扩展的系统下,我们只要通过增加处理容量,来在高负载的情况下保持性能和可靠性。
  3. 可扩维护性。事关工程师和运维团队的生活质量,因为好的维护性能够节省大量的维护成本。抽象能够降低系统的复杂度,使系统易于修改或增加新场景。良好的可操作性对系统的健康状况有较好的可见性,并能够提供有效的管理手段。