转自ByteByteGo
CAP :该定理规定任何分布式数据存储只能提供以下三个保证中的两个:
- 一致性 - 每次读取都会获得最新的写入或错误。
- 可用性 - 每个请求都会收到响应。
- 分区容错性 - 在网络故障中系统继续运作。
然而,该定理因为对分布式系统过于狭窄而受到批评,我们不应该用它来分类数据库。在分布式系统中,网络故障是肯定会发生的,我们必须在任何分布式系统中处理这个问题。
您可在Martin Kleppmann的文章“Please stop calling databases CP or AP”中阅读更多相关内容。
BASE :关系数据库中使用的ACID(原子性-一致性-隔离性-持久性)模型对NoSQL数据库来说过于严格。BASE原则提供了更大的灵活性,选择可用性而不是一致性。它指出状态最终将一致。
SOLID :该原则在面向对象编程中非常有名。它包括以下5个组成部分:
-
SRP(单一职责原则) 每个代码单元应该只有一个责任。
-
OCP(开闭原则) 代码单元应该对扩展开放,但对修改关闭。
-
LSP(里氏替换原则) 子类应该能够替代其基类。
-
ISP(接口隔离原则) 提供具有特定责任的多个接口。
-
DIP(依赖反转原则) 使用抽象来解耦系统中的依赖关系。
KISS :"保持简单,愚蠢!" 是美国海军在1960年首次注意到的一项设计原则。它指出大多数系统如果保持简单,将能够发挥最佳效果