一、共识算法 -- 拜占庭问题 两忠一叛问题: 如上图所示,将军A、B、C约定同时进攻或者撤退,假如将军C叛变了,被中间人截取消息并发送进攻给A、撤退给B,当所有将军消息都收到后结果如下:A:2票进攻1票撤退;B:2票撤退1票进攻;导致最终A独自去攻打敌军,B撤退,最终会任务失败 ...
共识机制的概念,我们在前面的文章 浅说区块链共识机制 中已经讲解了一部分,但是,共识算法其实是一个非常大的话题,一篇文章肯定没有办法做到面面俱全。 那么今天的内容,我会将重点放在梳理技术的脉络上,详细分析的部分会少一点。如果你对共识算法有兴趣的话,可以自行查找相关内容,也可以和其他的资料进行相互补充的阅读。 从相亲大会说起:分布式系统的模型 由于区块链就是一种分布式系统,所以这篇文章我就从这一概 ...
2018-09-27 21:41 0 879 推荐指数:
一、共识算法 -- 拜占庭问题 两忠一叛问题: 如上图所示,将军A、B、C约定同时进攻或者撤退,假如将军C叛变了,被中间人截取消息并发送进攻给A、撤退给B,当所有将军消息都收到后结果如下:A:2票进攻1票撤退;B:2票撤退1票进攻;导致最终A独自去攻打敌军,B撤退,最终会任务失败 ...
从分布式系统的CAP理论出发,关注分布式一致性,以及区块链的共识问题及解决。 区块链首先是一个大规模分布式系统,共识问题本质就是分布式系统的一致性问题,但是又有很大的不同。工程开发中,认为系统中存在故障(fault),但不存在恶意(corrupt)节点,而区块链,特别是公开链是落地到物理世界中 ...
春秋五霸说开 春秋五霸,是指东周春秋时期相继称霸主的五个诸侯,“霸”,意为霸主,即是诸侯之领袖。典型的比如齐桓公,晋文公,春秋时期诸侯国的称霸,与今天要讨论的Raft算法很像。 一、更加直观的Raft算法 Raft 适用于一个管理日志一致性的协议,相比于 Paxos 协议 Raft 更易 ...
搞懂分布式技术2:分布式一致性协议与Paxos,Raft算法 2PC 由于BASE理论需要在一致性和可用性方面做出权衡,因此涌现了很多关于一致性的算法和协议。其中比较著名的有二阶提交协议(2 Phase Commitment Protocol),三阶提交协议(3 Phase ...
在了解一致性哈希算法之前,最好先了解一下缓存中的一个应用场景,了解了这个应用场景之后,再来理解一致性哈希算法,就容易多了,也更能体现出一致性哈希算法的优点,那么,我们先来描述一下这个经典的分布式缓存的应用场景。 1 、场景描述 假设,我们有三台缓存服务器,用于缓存图片 ...
看到了自己项目中使用单个redis实例实现的分布式锁,因此就把redis相关的知识点,以及Redlock等记录了下来,就有了Redis基础这篇随笔。 在理解Redlock算法时,看到了很多关于分布式系统中的一致性算法的文章,于站在巨人的肩膀上,温故而知新,今天就来做些总结整理 ...
理解分布式一致性与Raft算法 永远绕不开的CAP定理 出于可用性及负载方面考虑,一个分布式系统中数据必然不会只存在于一台机器,一致性简单地说就是分布式系统中的各个部分保持数据一致 但让数据保持一致往往并不像看上去那么简单,假设我们有两台机器A与B,这时A更新了数据,A需要将更新的指令 ...
前言:在分布式的系统中,存在很多的节点,节点之间如何进行协作运行、高效流转、主节点挂了怎么办、如何选主、各节点之间如何保持一致,这都是不可不面对的问题,此时raft算法应运而生,专门 用来解决上述问题。对于分布式的一致性算法,著名的有paxos,zookeeper基于paxos提出了zab协议 ...