raft

ZHOU西口1 个月前
docker·云原生·raft·swarm·manager·docker swarm·worker
微服务实战系列之玩转Docker(十二)山一程,水一程,身向榆关那畔行,夜深千帐灯。——清·纳兰性德最近偶读纳兰的《长相思》经典之作,被这个“行军”场面震撼了。长长的队伍,跋山涉水,野宿一处。夜深人静的时候,突然激发了纳兰的“思乡”之情,他的留恋和伤感从此被永远定格。可见,如想看懂一个人,可以从他的文章入手,慢慢研读,细细品味。
ZHOU西口2 个月前
docker·云原生·架构·raft·swarm·docker swarm·master-slave
微服务实战系列之玩转Docker(十一)在云原生的世界,经过十多年的进化,Docker已经形成了较完备的“后勤”保障服务和建立了荣辱与共的“密友圈”。用一句话可以概括:“Docker走遍天下,Swarm功不可没”。
ZHOU西口2 个月前
docker·微服务·云原生·raft·swarm·docker swarm·master-slave
微服务实战系列之玩转Docker(十)我们知道Docker的“使命”是为了快速完成应用的迁移和部署。为提升它的战斗能力,Docker官方携手发布了Docker Swarm—— 一个快速完成Docker集群构建的利器。那么请先回忆一下本系列第八篇(重点compose)和第九篇(重点network),一个是为了完成在同一个Docker主机下多容器的编排和运行,另外一个是为Docker主机与容器之间或容器与容器之间进行通信而提供的基本网络类型。
JustLorain2 个月前
数据库·分布式·raft
如何使用 etcd raft 库构建自己的分布式 KV 存储系统(2)本文是《如何使用 etcd raft 库构建自己的分布式 KV 存储系统》系列的第二篇 - raftexample 日志压缩与快照
JustLorain3 个月前
数据库·分布式·raft
如何使用 etcd raft 库构建自己的分布式 KV 存储系统raftexample 是 etcd 提供的一个使用 etcd raft 共识算法库的示例。raftexample 最终实现了一个对外提供 REST API 的分布式键值存储服务。
中间件XL3 个月前
raft·共识算法·选主·分布式日志·dledger
dledger原理源码分析系列(一)-架构,核心组件和rpc组件dledger是openmessaging的一个组件, raft算法实现,用于分布式日志,本系列分析dledger如何实现raft概念,以及dledger在rocketmq的应用
六神就是我4 个月前
论文阅读·llm·raft·rag
【LLM之RAG】RAFT论文阅读笔记论文针对的主要问题是如何将预训练的大型语言模型(LLMs)适应特定领域的检索增强生成(RAG)。这些模型通常在广泛的文本数据上进行预训练,已经表现出在广义知识推理任务上的优越性能。然而,在特定领域,如法律、医学或最新新闻等,普遍的知识推理不足以满足精确性的要求,因此需要对这些模型进行适应性调整以增强其在这些领域内的应用性能。
小哈里4 个月前
分布式·rpc·raft·cap·gossip
【后端开发】服务开发场景之分布式(CAP,Raft,Gossip | API网关,分布式ID与锁 | RPC,Dubbo,Zookeeper)【后端开发】服务开发场景之分布式(CAP,Raft,Gossip | API网关,分布式ID与锁 | RPC,Dubbo,Zookeeper)
Hello-Brand5 个月前
分布式·raft·cap·分布式算法·paxos·zab
架构与思维:4大主流分布式算法介绍(图文并茂、算法拆解)之前的文章中,我们介绍过分布式事务的基础知识,也了解了分布式场景下常见一致性问题和解决方案,对分布式锁和CAS模式有一定的了解,有兴趣的同学可以通过下面链接到作者的两篇相关文章。
coffee_babe5 个月前
java·分布式·raft·一致性
分布式与一致性协议之常见疑惑(一)线性一致性(Linearizability),也称为原子性或强一致性,是分布式系统中的一个一致性模型,它定义了系统对读写操作的行为,以确保系统表现得好像只有一个数据副本,并且所有操作都是原子的。 在线性一致性模型中,系统的行为应该满足以下条件:
coffee_babe5 个月前
java·分布式·raft·一致性·共识算法
分布式与一致性协议之一致哈希算法(三)我们一起来看一个例子,对于1000万个key的3节点KV存储,如果我们使用一致哈希算法增加1个节点,即3节点集群变为4节点集群,则只需要迁移24.3%的数据,如代码所示
coffee_babe5 个月前
java·分布式·raft·一致性·共识算法
分布式与一致性协议之Raft算法(三)你可以把Raft算法的日志复制理解成一个优化后的二阶段提交(将二阶段优化成了一阶段)。优化后减少了一半的往返消息,也就是降低了一半的消息延迟,那日志复制的具体过程又是什么呢? 首先,领导者进入第一阶段,通过日志复制RPC消息将日志项复制到集群中的其他节点上。接着如果领导者接收到大多数的"复制成功"响应后,它会将日志项应用到它的状态机,并返回成功给客户端。如果领导者没有接收到大多数的"复制成功"响应,那么就返回错误给客户端。有人可能会有这样的疑问,领导者将日志项应用到它的状态机,为什么没有通知跟随者应用日志
coffee_babe5 个月前
java·分布式·raft·一致性·共识算法·一致性算法
分布式与一致性协议之Raft算法与一致哈希算法(一)有很多人把Raft算法当成一致性算法,其实它不是一致性算法而是共识算法,是一个Multi-Paxos算法,实现的是如何就一系列值达成共识。并且,Raft算法能容忍少数节点的故障。虽然Raft算法能实现强一致性,也就是线性一致性(Linearizability),但需要客户端协议的配合。在实际场景中,我们一般需要根据场景特点,在一致性强度和实现复杂度之间进行权衡。比如Consul实现了3种一致性模型。
coffee_babe5 个月前
java·分布式·raft·一致性·一致性算法
分布式与一致性协议之Raft算法(四)在日常工作中,你可能会遇到服务器故障的情况,这时你需要替换集群中的服务器。如果遇到需要改变数据副本数的情况,则需要增加或移除集群中的服务器。总的来说,在日常工作中,集群中的服务器数量是会发生变化的。也许你会问,Raft算法是共识算法,它对集群成员进行变更时(比如增加2台服务器),会不会因为集群分裂出现两个领导者呢?在我看来,的确会出现这个问题,因为Raft算法的领导者选举是建立在"大多数"的基础之上,那么当成员变更,集群成员发生变化时,就可能同时存在新旧配置的两个"大多数",出现两个领导者,从而破坏了Ra
coffee_babe5 个月前
java·分布式·raft·一致性·共识算法
分布式与一致性协议之Raft算法(二)我们知道,议会选举中的领导者是有任期的,当领导者任命到期后,需要重新再次选举。Raft算法中的领导者也是有任期,每个任期由单调递增的数字(任期编号)标识。比如,节点A的任期编号是1。任期编号会随着选举的举行而变化,分析如下。
StevenGerrad6 个月前
分布式·raft·6.824
【分布式】MIT 6.824 Lab 2C实现细节分析写完Lab2B后搞大论文,又回来做的Lab2C在Lab2B基础上简单实现persist后无法通过测试样例Test (2C): Figure 8。根据raft图2的最后一个提示,更新commitIndex到i的时候要校验log[i-1].Term == currentTerm。这个原理(可能包括raft整个文章)要重新整理下。
卡布奇诺赛高6 个月前
go·raft
mit 6.824 lab3思路如果你还没有读过lab3的要求/学生指南,请先去阅读对应内容nil.csail.mit.edu/6.824/2020/…
liferecords7 个月前
人工智能·自然语言处理·raft·rag
RAFT: Adapting Language Model to Domain Specific RAG相关链接:arXiv GitHub 关键字:Retrieval-Augmented Fine Tuning (RAFT)、Large Language Models (LLMs)、Domain Specific RAG、Distractor Documents、Chain-of-Thought
Valory7 个月前
raft
从0到1实现 Raft — 日志压缩 (MIT 6.5840 Lab3 PartD)我想学习下分布式系统的经典入门课程 MIT 6.824 ,正好看到木鸟(www.zhihu.com/people/qtmu…)的课程 —— 基于 MIT 6.824 的课程,从零实现分布式 KV。门课会,手把手带你看论文写代码。所以这篇文章的主要内容是我的课程心得,介绍什么是Raft,并实现一个基本的框架。
紫电清霜7 个月前
分布式·raft
6.824 lab4: 基于 Raft 的强一致分片 KV 数据库MIT 6.824 的 Lab 2,3,4 是一系列循序渐进的任务:Lab 2 是完成一个能保证日志一致性的 Raft 实现;Lab 3 在此基础上实现一个强一致的分布式 KV 数据库,增加了 Client-Server 交互的过程;Lab4 是将 3 的数据分片存储。 从2到3和从3到4,难度和工作量都有一个陡增。不愧是 MIT 的研究生课程,难度和工作量整体都比 15213 和 6.828 的 lab 要高出好几个 level。