只会一点java

java持续学习者,每月一篇博客。罗列出技术栈,慢慢完善,持续学习,总有一天,你会追上甚至超越曾经的大神。
随笔 - 156, 文章 - 0, 评论 - 471, 阅读 - 124万
  博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

分布式共识算法 (一) 背景

Posted on   只会一点java  阅读(2264)  评论(0编辑  收藏  举报

 

正文

系列目录

分布式共识算法 (一) 背景

分布式共识算法 (二) Paxos算法

分布式共识算法 (三) Raft算法

分布式共识算法 (四) BTF算法

一、背景

一致性是分布式领最重要的问题。一致性不代表结果的正确与否,而是分布式系统的多个物理节点的处理结果对外呈现的状态一致与否。例如所有节点都达成失败状态也是一种一致性。

二、共识与一致性的区别

一致性描述的是结果状态,共识则是一种手段。达成某种共识并不意味保障了一致性。Paxos就是一种共识算法。

三、共识算法分类

大体可以分为两类算法

1.CFT(Crash Fault Tolerance):不伪造信息的非拜占庭错误,代表算法是Paxos、Raft,特点是性能好,容忍不超过一半的故障节点。

2.BFTByzantine Fault Tolerance):伪造信息的拜占庭错误,特点是性能差,容忍不超过1/3的故障节点。两类代表:

  • PBFT(Practical Byzantine Fault Tolerance)确定性系列算法:一旦达成共识不可逆转,就是最终结果。
  • PoW概率算法:共识是临时的,随着时间推移或变化,共识结果被推翻的概率越来越小,成为最终结果。

特殊的:XFT(Cross Fault Torelrance)等算法可以提供类似CFT的处理性能,并能在大多数节点正常工作时提供BFT保障。

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示