分类 分布式理论 下的文章

状态机,英文表示是:State Machine ,不是指一台实际机器,而是指一个数学模型,仅仅是一组约束和规范,是不同状态进行相互转换的约束和规范。状态机的数学模型包括四大部分:状态,事件,动作...

1、Raft 日志的基本内容Raft日志包含三块基本内容:(1)索引号:整数,用于标识日志所在的位置(2)任期号:创建该日志时Leader所处的当前任期号(3)可以被复制状态机执行的命令日志由有...

备注:本文内容节选自《全面解读Raft共识算法》,想了解更全面的Raft算法解读,请移步链接即可。在Raft论文中,成员变更属于难点,但这一部分相比于论文其他部分,确实讲解最不详细,让人读完之后...

Raft算法中,有三种很重要的超时设置:选举超时、最小选举超时、心跳超时。下文给大家详细的介绍一下。(1)选举超时。就是新一轮选举开始时,每个节点随机思考要不要做领导者的时间,这个时间一般100...

在Raft共识算法中,不存在分阶段提交,所以不属于二阶段提交。在Raft共识算法中,Leader选出后,就开始接收客户端的请求。Leader把请求作为日志条目(Log entries)加入到它的...

为了解决分布式问题,为了使系统尽量能够达到 CAP,涌现了很多经典的算法和协议,最著名的就是二阶段提交协议,简称 2PC。顾名思义,二阶段提交就是将事务的提交过程分成了两个阶段来进行处理。第一阶...

1、CAP理论是什么?CAP定理,又称CAP原则,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition toleranc...

2000年的时候,加州大学伯克利分校的光头教授Eric Brewer提出了CAP猜想:CAP永远不可能同时满足,提高其中任意两者的同时,必然要牺牲第三者。这个定理告诉大家,不要再浪费时间去研究如...

备注1:本系列内容由站长北侠撰写,内容来源于论文以及网上他人精品内容的参考,再此表示感谢!除此以外,站长北侠增加了很多个人的理解和思考,并在必有地方给以醒目提示,方便大家的阅读。好的架构是修改出...

BASE原则BASE是Basically Available(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性)三个短语的简写,含义如下所示:基...

1、Raft算法Raft算法是目前分布式系统领域中非常著名的解决多副本一致性问题的共识算法,它的出现就是为了解决 Paxos 难以理解和和难以实现的问题,正如其论文的题目所述:In Search...

在很长一段时间,Paxos被认为是解决分布式系统一致性的行业标准,但是Paxos难于理解,更难以实现。而Raft协议设计的初衷就是容易理解,保证普遍的人群都可以十分容易的去理解。另外,Raft协...

Consul是什么?Consul是HashiCorp公司推出的开源工具,Consul由Go语言开发,部署起来非常容易,只需要极少的可执行程序和配置文件,具有绿色、轻量级的特点。Consul是分布...

Doozer是什么?Doozer是一个一致的分布式数据存储系统,Go语言实现,通过Paxos算法来实现共识的强一致性系统。这个项目开展了数年之后,停滞了一段时间,而且现在也关闭了一些fork数,...

etcd是什么?etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现。etcd是由CoreOS开发并维护的,灵感来自于 ZooKeeper 和 Doozer,它使用Go语言编写,并通过...

什么是状态机?“状态机”属于计算机理论方面的专业词汇,其定义是:状态机是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型。“状态机”是个高大上的字眼,与之类似的还有“空间”。关于“...

PACELC 基于 CAP 理论演进而来CAP 理论是一个分布式系统中老生常谈的理论了:C(Consistency):一致性,所有节点在同一时间的数据完全一致。A(Availability):可...

随着运行时间的增增长,日志信息也会变得越来越多,占有更多的空间。因此Raft采取了日志压缩的方法解决该问题,即将当前整个系统状态写入稳定存储的快照,然后该时间点之前的日志就可以丢弃掉,从而释放存...

在分布式系统中,有时候需要对集群中的成员数量进行更新的操作,比较简单的做法将更新操作分为两个阶段进行:第一个阶段:将全部的使用旧的配置文件的集群C_old成员全部关闭,所以将不能对客户端的请求进...

备注:本文修订于2021年6月9日1、日志不一致的三种情况网络不可能一直处于正常情况,因为Leader或者某个Follower有可能会崩溃,从而导致日志不能一直保持一致,因此存在以下三种情况:(...