分类 Paxos算法 下的文章

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

在很长一段时间,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有可能会崩溃,从而导致日志不能一直保持一致,因此存在以下三种情况:(...

备注:Raft将分布式一致性分解为多个子问题:Leader选举(Leader election)、日志复制(Log replication)、安全性(Safety)、日志压缩(Log compa...

备注:Raft将分布式一致性分解为多个子问题:Leader选举(Leader election)、日志复制(Log replication)、安全性(Safety)、日志压缩(Log compa...

1、主备模式介绍主即主机,备即备机。顾名思义,主机当然是以它为主了,读写都是主机上,而备机只用作备用,默默的在背后同步主机的数据,时刻待命着等待主机挂了之后取而代之。因此在主机还活着的情况下,备...

备注:本内参系列,是学习TinyMQ项目之前的必读内容!为了实现集群的高可用性,用户的数据往往要多重备份,多个副本虽然避免了单点故障,但同时也引入了新的挑战。假设有一组服务器保存了用户的余额,初...

备注:本内参系列,是学习TinyMQ项目之前的必读内容!在Java中,synchronized修饰的是代码块,代码块里面的变量都实现了内存可见性。内存可见性的底层是CPU的指令实现的。volat...

备注:本内参系列,是学习TinyMQ项目之前的必读内容!一致性问题立足于数据副本,有数据副本的地方必定会有一致性问题。对于数据副本,人们往往印象不深,但是对于缓存,我想人人皆知。缓存就是数据副本...

数据副本数据副本是个很常见的概念和术语,我们经常遇到,但是也最容易让人产生迷惑。副有以下几种含义:(1)辅助的,区别于正和主,例如:副职,副手,副官。(2)附带的,次要的,例如:副业,副品,副食...