第1章 可靠、可扩展与可维护的应
可靠性
可靠性意味者即使发生故障,系统也可以正常工作。故障包括硬件、软件以及人为失误。容错技术可以很好的隐藏某种类型故障,避免影响最终用户.
可能出错的事情称为错误(faults)或故障;系统可应对错误则称为容错(fault-tolerant)或者弹性(resilient)。容错总是指特定类型的故障,这样的容错才更有实际意义。
故障与失效(failure)并不完全一致。故障通常被定义为组件偏离其正常规格,而失效意味着系统作为一个整体停止,无法向用户提供所需的服务。我们不太可能将故障率降低到零,因此通常设计容错机制来避免从故障引发系统失效。
可扩展性
可扩展性是指负载增加时,有效保持系统性能的相关技术策略。描述负载、描述性能、应对负载增加的方法.
可维护性
可运维性 - 运维更轻松
简单性 - 简化复杂度.
复杂性有各种各样的表现方式:模块紧耦合、令人纠结的相互依赖、不一致的命名和术语、为了性能而采取的特殊处理、为了解决某一问题而引入的特殊框架等.
可演化性 - 易于改变
简单易用的系统往往比复杂的系统更容易修改 .