拜占庭将军问题和 Raft 共识算法讲解
在分布式系统中,什么是拜占庭将军问题?产生的场景和解决方案是什么?什么是Raft共识算法?Raft算法是如何解决拜占庭将军问题的?其核心原理和算法逻辑是什么?除了Raft,还有哪些共识算法?共识问题作为分布式系统的一大难点和痛点,本文主要介绍了其产生的背景、原因,以及通用的Raft算法解决方案。
Stella981 Stella981
3年前
Raft 算法在分布式存储系统 Curve 中的实践
作为网易数帆开源的高性能、高可用、高可靠的新一代分布式存储系统,Curve对于多副本数据同步、负载均衡、容灾恢复方面都有较高的要求。网易数帆存储团队选用Raft算法作为Curve底层一致性协议,并基于Raft的特性,实现了异常情况下的数据迁移和自动恢复。本文首先简要介绍一下Raft算法的一些基本概念和术语,再详细介绍其在Curve中的实践。Raft一致性
Stella981 Stella981
3年前
Raft协议详解
一周前发布的图解分布式一致性算法(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI3MTEwODc5Ng%3D%3D%26mid%3D2650860506%26idx%3D1%26sn%3Db21f4e2613be
Easter79 Easter79
3年前
TiKV 源码解析系列文章(十七)raftstore 概览
第一作者:李建俊,第二作者:杨哲轩,王聪TiKV作为一个分布式KV数据库,使用Raft算法来提供强一致性。Raft算法提供了单一group的一致性,但是单一group无法扩展和均衡。因此,TiKV采用了MultiRaft的方式基于Raft算法提供能兼顾一致性、扩展均衡的KV储存。下文以3.0版本代码为例,讲述raf
Stella981 Stella981
3年前
Raft协议
在很多分布式系统场景下,并不需要解决拜占庭将军问题(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.868qkl.com%2Fjiaocheng%2Fmingci%2FByzantinefailures.html),也就是说,在这些分布式系统的实用场景下,其假设条件不需要考虑拜占
Stella981 Stella981
3年前
Raft算法
点击上方疾风先生可以订阅哦!(https://oscimg.oschina.net/oscnet/becd7a69d2ea4b7cb91504581dbdc88b.jpg)本文主要以分析Raft算法核心原理流程为主,简述Raft算法运作流程,分别从Raft基础,核心原理以及细节问题出发作一个归纳性总结,如想深入Raft算
Stella981 Stella981
3年前
Raft 基础
目录1.三个状态2.什么是任期3.节点之间的通信1\.三个状态Raft设计了3个状态,用于表示节点的状态,分别是跟随者,候选者,领导者。1.领导者:通常只有一个领导人,并且其他节点都是跟随者。2.跟随者:跟随者不会发送任何请求,只是简单的响应领导者或者候选人的请求,由领导人处理所有的客户端请
Stella981 Stella981
3年前
Raft协议要点
http://www.jianshu.com/p/d10310683bbb状态机一个节点处于下面的3种状态之一:Leader:负责接收客户端的请求,将日志复制到其他节点并告知其他节点何时应用这些日志是安全的。Candidate:Leader选举过程中的临时角色。Follower:负责响应来自Leade
Stella981 Stella981
3年前
Flynn之Discoverd
Flynn的服务发现组件(discoverd)部署在所有的Flynn集群节点上,该组件使用了Raft协议保证数据的一致性,目前采用的是hashicorp的实现(https://github.com/hashicorp/raft(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub
Stella981 Stella981
3年前
RocketMQ 多副本前置篇:初探raft协议
Raft协议是分布式领域解决一致性的又一著名协议,主要包含Leader选举、日志复制两个部分。温馨提示:本文根据raft官方给出的raft动画进行学习,其动画展示地址:http://thesecretlivesofdata.com/raft/(https://www.oschina.net/action/GoToLink?urlhttp%3A