下图解释了系统设计中的常见缩写词。
CAP
CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。
CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。
一致性——在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)
可用性——保证每个请求不管成功或者失败都有响应。
分区容错——系统中任意信息的丢失或失败不会影响系统的继续运作。
然而,这个定理被批评对于分布式系统来说过于狭隘,我们不应该用它来对数据库进行分类。网络故障在分布式系统中是肯定会发生的,在任何分布式系统中我们都必须处理这个问题。
BASE
关系数据库中使用的ACID(原子性-一致性-隔离性-持久性)模型对于NoSQL数据库来说过于严格。
BASE是对CAP中一致性和可用性权衡的结果,其来源于对大规模互联网系统分布式实践的结论,是基于CAP定理逐步演化而来的.
其核心思想是即使无法做到强一致性(Strong consistency),但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性(Eventual consistency)。
基本可用:指分布式系统在出现不可预知故障的时候,允许损失部分可用性。
SOLID
SOLID原则在OOP中相当有名,它有 5 个组件。
1.SRP(单一责任原则)每个代码单元都应该有一个职责。
2.OCP(开闭原则)代码单元应该对扩展开放,但对修改关闭。
3.LSP(里氏替换原理)子类应该能够被其基类替换。
4.ISP(接口隔离原则)公开具有特定职责的多个接口。
5.DIP(依赖倒置原理)使用抽象来解耦系统中的依赖关系。
KISS
“简单点吧,笨蛋!”是美国海军于 1960 年首次提出的设计原则。它指出,大多数系统在保持简单的情况下才能发挥最佳性能。
KISS原则包括以下几个方面:
简化设计
少用复杂的算法
避免冗余和重复代码
尽量遵循标准和惯例