CAP、BASE、SOLID、KISS,这些缩写词是什么意思?
下图解释了系统设计中常见的缩写词。
CAP
CAP 定理指出,任何分布式数据存储都只能提供以下三种保证中的两种:
-
一致性 – 每次读取都会收到最近的写入或错误。 -
可用性 – 每个请求都会收到响应。 -
分区容忍度 – 系统在网络故障时仍能继续运行。
然而,有人批评这一定理对分布式系统来说过于狭隘,我们不应该用它来对数据库进行分类。在分布式系统中,网络故障是一定会发生的,我们必须在任何分布式系统中解决这个问题。
您可以在 Martin Kleppmann 撰写的《请停止将数据库称为 CP 或 AP》一文中阅读更多相关内容。
BASE
关系数据库中使用的 ACID(原子性-一致性-隔离-持久性)模型对于 NoSQL 数据库来说过于严格。BASE 原则提供了更大的灵活性,选择了可用性而非一致性。它指出,状态最终将是一致的。
SOLID
SOLID 原则在 OOP 中相当有名。它有 5 个组成部分。
-
SRP(Single Responsibility Principle, 单一责任原则) 每个代码单元只有一个责任。
-
OCP(Open Close Principle, 开放关闭原则) 代码单元应可扩展,但不可修改。
-
LSP(Liskov Substitution Principle, 利斯科夫替换原则) 子类应能被基类替代。
-
ISP(Interface Segregation Principle, 接口隔离原则) 公开多个具有特定职责的接口。
-
DIP(Dependency Inversion Principle, 依赖反转原则) 使用抽象概念来解除系统中的依赖关系。
来源https://mp.weixin.qq.com/s/vIytZ4zJKmj0UOu_4uAolg
没有回复内容