Base理论和CAP理论

  1. CAP理论和 BASE理论
    CAP是理论模型,BASE才是分布式落地方案
  • C 讲的是强一致性,也就是分布式系统中,集群中的节点的数据保持完全一致

  • A 讲的是系统可用性,即使出现网络分区或者异常,整个系统的功能仍然可用

  • BA 基本可用,是对A的一个妥协,比如秒杀场景下,或者雪崩的业务场景下,可以降级处理,使核心功能可用,而不是所有的功能可用。或者延迟完成,比如通过削峰限流,来延迟响应。

  • Soft Status:对应的是ACID里面的数据一致性的状态。也就是在一个时间节点上,集群中所有节点的数据,可能不一样

  • Eventurlly Consitence:最终一致性,BASE不保证强一致性,但是会通过共识协议最终实现各个集群节点状态的一致性,比如Zab协议、Raft协议

实际上强一致性意味着每次写的操作,必须要所有节点同时完成了数据同步,整个事务才算完成。
强系统可用性,在流量超过负载的时候,会压垮整个服务,而基本可用却可以牺牲非核心功能,保证核心功能可用

比如Zookeeper就是典型的BASE理论的践行者:事务操作的时候,只要过半节点完成了ACK,就可以提交事务响应客户端了。也就是不保证数据的强一致性和存在软状态。另外zk集群的leader会记录每个Node的数据状态,并且不停的尝试让Follower的数据和自己保持一致,这就是最终一致性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 分布式系统面临的第一个问题就是数据分布,即将数据均匀地分布到多个存储节点。另外,为了保证可靠性和可用性,需要将数据...
    olostin阅读 4,685评论 2 26
  • 1. 分布式系统核心问题 参考书籍:《区块链原理、设计与应用》 一致性问题例子:两个不同的电影院买同一种电影票,如...
    molscar阅读 945评论 0 0
  • 寻找一种易于理解的一致性算法(扩展版) 摘要 Raft 是一种为了管理复制日志的一致性算法。它提供了和 Paxos...
    yflau阅读 1,046评论 0 1
  • Zookeeper用于集群主备切换。 YARN让集群具备更好的扩展性。 Spark没有存储能力。 Spark的Ma...
    Yobhel阅读 7,385评论 0 34
  • 第三章 数据库系统 3.1 数据库管理系统的类型 通常有多个分类标准。如按数据模型分类、按用户数分类、按数据库分布...
    步积阅读 2,837评论 0 7