当前位置:   article > 正文

CAP和BASE和Raft算法

CAP和BASE和Raft算法

两个分布式的概念和一个分布式的算法,这都是很关键很有用的呢!

CAP

CAP的三个字母分别代表
Consistency(一致性):同时访问一个最新的副本数据
Availability(可用性):非故障节点在合理时间返回合理相应
Partition Tolerance(分区容错性):分布式网络的一部分出现问题,依旧能够对外提供服务

现在定义只能支持CP或者AP架构,CA架构不能支持。
CP可能在银行比较吃香

为什么CA不能支持,you say why?当节点出现故障,理论上要终止读写功能,因为要保证一致性,这个时候可用性A就不能保证了。

Base理论核心思想

是CAP理论的衍生
BASE的四个核心词
Basically Available(基本可用)
Soft-state(软状态)
Eventually Consistent(最终一致性)

因为强一致性C无法做到,那就采用适当的方法做到最终一致性。简单来说,当系统中有一部分数据不一致的情况下,仍需要保证系统主题的主要可用

基本可用什么意思
1. 响应时间可以变慢,但是不能太慢
2. 核心功能不能丧失

软状态:
1. 短时间的数据不一致性问题不大
最终一致性
1. 经过系统同步,最终的数据能达到一个一致的状态。

Raft算法

角色:

  1. follower
  2. candidate
  3. leader

行为
RequestVode
AppendEntriess

首先平常的时候只有leader和follower存在。leader定期向follower发送心跳,如果有数据需要写入整个系统内部。也是先写入leader再由leader写入follower,再由leader提交,再由follower提交的。这中间的行为也叫作appendEntires
但是一旦leader挂掉了,没有发送心跳。那么leader在一个时间段内没有收到来自leader的心跳,就自主变成candidate候选人,向其他节点发送求票请求。一旦申请成功后,他就变成leader,而且会更新版本号。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/296278
推荐阅读
相关标签
  

闽ICP备14008679号