raft

翔云12345615 小时前
golang·raft·gc
raft: Failed to contact一个分布式服务是基于raft分布式协议并使用的go语言开发的,在一个新版本上线后,出现了Leader比较频繁的漂移问题。
TomGeller1 个月前
raft·cornerstone
cornerstone中raft_server_resp_handlers源码解析在rpc请求里,有了请求req就必然有回复resp。本文就来解析发送req的节点收到resp该怎么处理。
TomGeller1 个月前
raft·cornerstone
cornerstone中raft_server_req_handlers源码解析之前说过raft_server是cornerstone的核心,其中充满了很多req的发送,那么follower收到leader的req会怎么处理呢? 本文就是来解析cornerstone中处理req的源码。
TomGeller1 个月前
raft·cornerstone
cornerstone中raft_server源码解析cornerstone中核心即为raft_server的实现。 在raft里面有follower,leader,candidate三种角色,且角色身份还可以相互切换。 写三个类follower,leader,candidate显得没必要,因为三个类可以共享许多成员变量,如term,log_store等等。因此在cornerstone中抽象出raft_server这一个类,而raft_server的角色可以在三种状态相互切换。 下图为cornerstone中关于管理三种角色的示意图。 在本文中我们先解析单个
请不要叫我菜鸡2 个月前
分布式·后端·区块链·raft·共识算法·zab
分布式——一致性模型与共识算法一致性问题是分布式领域最为基础也是最重要的问题。一般来讲,分布式系统中的一致性按照对一致性要求的不同,主要分为强一致性,弱一致性这两大类,前者是基于 safety 的概念,后者是基于 liveness 的概念。
请不要叫我菜鸡2 个月前
分布式·学习·raft·共识算法
mit6824-06-Raft学习记录01近日开始学习分布式共识算法Raft,慢慢记录一些自己能看懂的东西。优质博客:单点故障(single point of failure):服务器中某台机器出现故障。 前面介绍过的复制系统,都存在单点故障问题(single point of failure)。
TomGeller2 个月前
raft·cornerstone
cornerstone中RAFT的buffer的实现谈到raft协议实现就绕不开网上流行的mit6.824,但其为go语言,官方没有lab的答案,框架也很晦涩难懂,且全网没有一个博客对其有清晰的解释,有的只是甩一堆名词然后直接贴没有任何注释的代码,非常不适合学习。 但是github上面的cornerstone是纯c++实现的一个非常优雅且精简的raft协议,码风优美,代码易懂,接口清晰,对c++党非常友好,也很适合初学raft的人来学习。 鉴于cornerstone这么优秀的代码还没人对其有过源码级解析,我决定记录自己学习其源码过程并对其源码进行详细解析。
ZHOU西口4 个月前
docker·云原生·raft·swarm·manager·docker swarm·worker
微服务实战系列之玩转Docker(十二)山一程,水一程,身向榆关那畔行,夜深千帐灯。——清·纳兰性德最近偶读纳兰的《长相思》经典之作,被这个“行军”场面震撼了。长长的队伍,跋山涉水,野宿一处。夜深人静的时候,突然激发了纳兰的“思乡”之情,他的留恋和伤感从此被永远定格。可见,如想看懂一个人,可以从他的文章入手,慢慢研读,细细品味。
ZHOU西口4 个月前
docker·云原生·架构·raft·swarm·docker swarm·master-slave
微服务实战系列之玩转Docker(十一)在云原生的世界,经过十多年的进化,Docker已经形成了较完备的“后勤”保障服务和建立了荣辱与共的“密友圈”。用一句话可以概括:“Docker走遍天下,Swarm功不可没”。
ZHOU西口4 个月前
docker·微服务·云原生·raft·swarm·docker swarm·master-slave
微服务实战系列之玩转Docker(十)我们知道Docker的“使命”是为了快速完成应用的迁移和部署。为提升它的战斗能力,Docker官方携手发布了Docker Swarm—— 一个快速完成Docker集群构建的利器。那么请先回忆一下本系列第八篇(重点compose)和第九篇(重点network),一个是为了完成在同一个Docker主机下多容器的编排和运行,另外一个是为Docker主机与容器之间或容器与容器之间进行通信而提供的基本网络类型。
JustLorain5 个月前
数据库·分布式·raft
如何使用 etcd raft 库构建自己的分布式 KV 存储系统(2)本文是《如何使用 etcd raft 库构建自己的分布式 KV 存储系统》系列的第二篇 - raftexample 日志压缩与快照
JustLorain6 个月前
数据库·分布式·raft
如何使用 etcd raft 库构建自己的分布式 KV 存储系统raftexample 是 etcd 提供的一个使用 etcd raft 共识算法库的示例。raftexample 最终实现了一个对外提供 REST API 的分布式键值存储服务。
中间件XL6 个月前
raft·共识算法·选主·分布式日志·dledger
dledger原理源码分析系列(一)-架构,核心组件和rpc组件dledger是openmessaging的一个组件, raft算法实现,用于分布式日志,本系列分析dledger如何实现raft概念,以及dledger在rocketmq的应用
六神就是我6 个月前
论文阅读·llm·raft·rag
【LLM之RAG】RAFT论文阅读笔记论文针对的主要问题是如何将预训练的大型语言模型(LLMs)适应特定领域的检索增强生成(RAG)。这些模型通常在广泛的文本数据上进行预训练,已经表现出在广义知识推理任务上的优越性能。然而,在特定领域,如法律、医学或最新新闻等,普遍的知识推理不足以满足精确性的要求,因此需要对这些模型进行适应性调整以增强其在这些领域内的应用性能。
小哈里7 个月前
分布式·rpc·raft·cap·gossip
【后端开发】服务开发场景之分布式(CAP,Raft,Gossip | API网关,分布式ID与锁 | RPC,Dubbo,Zookeeper)【后端开发】服务开发场景之分布式(CAP,Raft,Gossip | API网关,分布式ID与锁 | RPC,Dubbo,Zookeeper)
Hello-Brand7 个月前
分布式·raft·cap·分布式算法·paxos·zab
架构与思维:4大主流分布式算法介绍(图文并茂、算法拆解)之前的文章中,我们介绍过分布式事务的基础知识,也了解了分布式场景下常见一致性问题和解决方案,对分布式锁和CAS模式有一定的了解,有兴趣的同学可以通过下面链接到作者的两篇相关文章。
coffee_babe7 个月前
java·分布式·raft·一致性
分布式与一致性协议之常见疑惑(一)线性一致性(Linearizability),也称为原子性或强一致性,是分布式系统中的一个一致性模型,它定义了系统对读写操作的行为,以确保系统表现得好像只有一个数据副本,并且所有操作都是原子的。 在线性一致性模型中,系统的行为应该满足以下条件:
coffee_babe7 个月前
java·分布式·raft·一致性·共识算法
分布式与一致性协议之一致哈希算法(三)我们一起来看一个例子,对于1000万个key的3节点KV存储,如果我们使用一致哈希算法增加1个节点,即3节点集群变为4节点集群,则只需要迁移24.3%的数据,如代码所示
coffee_babe8 个月前
java·分布式·raft·一致性·共识算法
分布式与一致性协议之Raft算法(三)你可以把Raft算法的日志复制理解成一个优化后的二阶段提交(将二阶段优化成了一阶段)。优化后减少了一半的往返消息,也就是降低了一半的消息延迟,那日志复制的具体过程又是什么呢? 首先,领导者进入第一阶段,通过日志复制RPC消息将日志项复制到集群中的其他节点上。接着如果领导者接收到大多数的"复制成功"响应后,它会将日志项应用到它的状态机,并返回成功给客户端。如果领导者没有接收到大多数的"复制成功"响应,那么就返回错误给客户端。有人可能会有这样的疑问,领导者将日志项应用到它的状态机,为什么没有通知跟随者应用日志
coffee_babe8 个月前
java·分布式·raft·一致性·共识算法·一致性算法
分布式与一致性协议之Raft算法与一致哈希算法(一)有很多人把Raft算法当成一致性算法,其实它不是一致性算法而是共识算法,是一个Multi-Paxos算法,实现的是如何就一系列值达成共识。并且,Raft算法能容忍少数节点的故障。虽然Raft算法能实现强一致性,也就是线性一致性(Linearizability),但需要客户端协议的配合。在实际场景中,我们一般需要根据场景特点,在一致性强度和实现复杂度之间进行权衡。比如Consul实现了3种一致性模型。