ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

共识算法 CAP BASE

2022-09-01 19:02:17  阅读:220  来源: 互联网

标签:可用性 CAP 算法 BASE 一致性 节点


共识算法 (Consensus Algorithm)

共识算法是用来保证分布式系统一致性的方法。它能保证所有节点的数据相同并且一个节点发起的提案可以被其他节点同意。

根据解决的场景是否允许拜占庭错误情况,共识算法分为Crash Fault Tolerance(CFT)和Byzantine Fault Tolerance(BFT)两类;

CFT: 可以容忍网络丢包、时钟漂移、部分节点宕机这类错误。代表代表算法:算法:Paxos,Raft;

BFT: 可以容忍部分节点任意类型的错误。代表算法:PBFT,PoW。

CAP理论

Consistency 一致性 : 所有节点的数据是一致的。

Availablity 可用性 : 每一个非故障节点,都能对每一个请求做出相应。简而言之,一个节点坏了,不影响其他节点的业务。

Partition Tolerant 分区容错性 : 当系统中的某个节点因网络问题无法通信时,系统仍然可以正常运行,提供服务。

CAP 这三个要素最多只能同时实现两个,不可能三者兼顾。

可用性针对节点出现故障,系统可用;分区容错性针对网络出现问题,系统可用。

BASE理论

BASE理论:BASE是Basically Available(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性),是CAP中可用性和一致性权衡的结果。

核心思想:即使无法做到强一致性(Strong consistency),单每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性(Eventual Consistency)。

释义:允许多个节点的状态出现冲突,但是所有能够沟通的节点都能够在有限的时间内解决冲突,从不一致的状态恢复到一致。

本质:需要系统保证最终数据能够达到一致,而不需要实时保证系统数据的强一致性。

标签:可用性,CAP,算法,BASE,一致性,节点
来源: https://www.cnblogs.com/lick468/p/16647537.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有