系统设计常见概念图

转自ByteByteGo

CAP :该定理规定任何分布式数据存储只能提供以下三个保证中的两个:

  1. 一致性 - 每次读取都会获得最新的写入或错误。
  2. 可用性 - 每个请求都会收到响应。
  3. 分区容错性 - 在网络故障中系统继续运作。

然而,该定理因为对分布式系统过于狭窄而受到批评,我们不应该用它来分类数据库。在分布式系统中,网络故障是肯定会发生的,我们必须在任何分布式系统中处理这个问题。

您可在Martin Kleppmann的文章“Please stop calling databases CP or AP”中阅读更多相关内容。

BASE :关系数据库中使用的ACID(原子性-一致性-隔离性-持久性)模型对NoSQL数据库来说过于严格。BASE原则提供了更大的灵活性,选择可用性而不是一致性。它指出状态最终将一致。

SOLID :该原则在面向对象编程中非常有名。它包括以下5个组成部分:

  1. SRP(单一职责原则) 每个代码单元应该只有一个责任。

  2. OCP(开闭原则) 代码单元应该对扩展开放,但对修改关闭。

  3. LSP(里氏替换原则) 子类应该能够替代其基类。

  4. ISP(接口隔离原则) 提供具有特定责任的多个接口。

  5. DIP(依赖反转原则) 使用抽象来解耦系统中的依赖关系。

KISS :"保持简单,愚蠢!" 是美国海军在1960年首次注意到的一项设计原则。它指出大多数系统如果保持简单,将能够发挥最佳效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wuxianfeng023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值