公众号关注 「奇妙的 Linux 世界」
设为「星标」,每天带你玩转 Linux !
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 年首次提出的设计原则。它指出,大多数系统如果保持简单,就能达到最佳效果。
本文转载自:「ByteByteGo」,原文:https://url.hi-linux.com/Prjxg,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。
最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在 「奇妙的 Linux 世界」 公众号直接回复 「加群」 邀请你入群。
你可能还喜欢
点击下方图片即可阅读
GitHub 星标 20.8K,中国程序员最容易发音错误的单词大全
点击上方图片,『美团|饿了么』外卖红包天天免费领
更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!