架构师应知必会的缩写大全
本文转自 公众号 ByteByteGo,如有侵权,请联系,立即删除
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, 依赖反转原则) 使用抽象概念来解除系统中的依赖关系。
KISS
"保持简单,傻瓜!"是美国海军在 1960 年首次提出的设计原则。它指出,大多数系统如果保持简单,就能达到最佳效果。