从零开始学架构 05-CAP理论 【笔记】

探讨分布式系统设计中CAP理论的应用,分析一致性、可用性和分区容忍性三者之间的权衡,以及ACID特性和BASE原则在事务处理中的作用。
CAP理论

分布式系统涉及读写操作时,一致性,可用性,分区容忍性三个要素只能保证两个,另外一个必须被牺牲

  • C:一致性,强一致性,对于客户端来说同一时刻能看到相同的数据
  • A:可用性,非故障的节点在合理的时间内返回合理的响应(不是错误和超时的响应)
  • P:分区容忍性,当出现网络分区后,系统能够继续履行职责

CAP理论对于一个分布式计算系统,不可能同时满足cap三个设计约束。或一个分布式系统,当涉及读写时,只能保证cap中的两个,另一个必须被牺牲。

  • 选择P,网络无法做到100%可靠,有可能出故障,所以分区是一个必然想象。
  • CP:两个节点,一个N1新增数据,N2与N1通道中断,无法同步数据,此时访问N2需要反馈错误,这是违背了A
  • AP:N1更新数据成Y,N2与N1通道中断,N2仍是老数据,此时违背C

分布式系统理论上不可能选择CA,只能选择CP或AP

注意

  • 1、CAP关注的力度是数据,而不是整个系统,可以每个查询都不一样
    如用户管理系统:用户账号数据选择cp,用户信息数据选择ap
  • 2、CAP是忽略网络延迟的
  • 3、正常运行情况下,不存在CP和AP的选择,可以同时满足CA
  • 4、放弃不等于什么都不做,需要为分区恢复后做准备
    如分区期间记录日志,当分区故障解决后,根据日志进行数据恢复,重新达到CA
ACID
  • A:原子性,要么全部完成,要么全部不完成。
  • C:一致性,事物开始前和结束后,数据库的完整性没有被破坏。
  • I:隔离性,事物之间是隔离的。
  • D:持久性,修改后数据永久存在。
BASE:AP的延伸
  • BA:基本可用,Basically Available
    分布式系统出现故障,允许损失部分可用性,即保证核心可用
    如登录时核心,注册时非核心
  • S:软状态,Soft state,系统的中间状态,而中间状态不会影响系统整体可用性,就是CAP理论中的不一致性
  • E:最终一致性,Eventual Consistency
总结

ACID是数据库事物完整性的理论
CAP是分布式系统设计理论
BASE是CAP理论中AP方案的延伸

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值