• 2024-06-23深度解析RocketMq源码-高可用存储组件(一) raft协议详解
    1.绪论前面的文章已经分析过,以前rocketmq通过主从复制的思想实现系统的高可用,即在搭建集群的时候会手动的设置一个主节点和从节点,在写入数据的时候,会先写入到主broker,然后再同步到从节点中。但是这样会有一个问题,就是主节点宕机过后,需要手动的修改从节点成为新的主节点。在roc
  • 2024-05-16共识算法学习路线
    初次接触共识算法领域让我非常头疼,大量晦涩难懂的资料让我无从下手。为了让我的人生更容易些,我决定在这里记录一些在学习过程中搜集到的认为有用的资料。⚠️:这个博客是随时更新的。由于我目前对相关领域认知的匮乏,目前这个博客可能毫无营养。如果你不小心检索到了这个博客,建议
  • 2024-05-10分布式 raft 可以同步日志为何还要gossip同步日志?
    Raft可以同步日志通信协议用的是Gossip 分布式系统中,Raft是一种常用的一致性算法,用于保证多个节点之间的数据一致性。Raft通过选举leader节点,并在leader节点上复制日志来确保数据的一致性。然而,尽管Raft提供了可靠的一致性保证,但在某些情况下,仍然需要一些额外的机制
  • 2024-05-04Raft论文阅读笔记.18171971
    本文是对Raft论文阅读后的一些核心内容总结原论文:InSearchofanUnderstandableConsensusAlgorithm(ExtendedVersion)Raft概览Raft论文中用几个表格给出了Raft的细节概览,这里不用仔细阅读,后面学习的时候会慢慢深刻的理解这些内容server持有的状态RPC原语server规
  • 2024-05-03raft算法和etcd代码解析-5.应用模块的启动
    Node接口Node是raft应用模块在节点上的抽象,也是应用模块和算法模块交互的入口应用模块持有Node作为算法模块的引用,通过调用Node接口的API与算法模块通信,通信方式是通过若干个Channel异步完成的。//Noderepresentsanodeinaraftcluster.typeNodeinterface{ //告知
  • 2024-05-02蚂蚁面试:Springcloud核心组件的底层原理,你知道多少?
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪
  • 2024-04-11dmdpc安装部署
    环境:OS:Centos7DM:DMV8达梦分布计算集群英文全称DMDistributedProcessingCluster,简称DMDPC.计划生成节点,英文全称为SQLProcessor,简称为SP;数据存储节点,英文全称为BackendProcessor,简称为BP;元数据服务器节点,英文全称为MetadataProcessor,简称为MP.一个最小的
  • 2024-04-06raft算法和etcd代码解析-4.两个模块,两个goroutine
    etcd是什么存储:Kubernetes集群所有的配置信息和状态数据都会被持久化存储在etcd中,包括节点信息、Pods、ReplicaSets、Services、ConfigMaps、Secrets等各类资源对象。协调:通过Raft协议,etcd集群中的各个节点达成一致,确保任何时候集群状态的变更都是原子性的、一致的,并且在节点故
  • 2024-03-26【IT老齐057】Raft选举算法
    【IT老齐057】Raft选举算法用途Raft算法是分布式系统开发首选的共识算法主要在分布式集群架构下进行领导者(主节点)的确认。比如现在流行的组件Etcd、Consul、Nacos、RocketMQ、RedisSentinel底层都是采用Raft算法来确认集群中的主节点,再通过主节点向其他节点下发指令
  • 2024-03-24raft算法和etcd代码解析-3.网络分区问题及其它
    网络分区问题网络分区导致选举永远无法达成共识,选举不断超时,任期号将不断增加为避免这个问题,candidate会探测网络环境以免发起无意义的竞选集群变更leader收到配置变更要求,会广播配置变更日志,日志包括新结点和老节点,在收到老节点的多数派认可后,leader后提交该请求在处理配置
  • 2024-03-23分布式详解
    文章目录概述分布式开发优点和缺点分布式存在的作用分布式和集群的区别集群的特点BASE理论BASE理论的三要素CAP理论二段式满足cap理论的哪两个理论分析下分布式强一致性、弱一致性、最终一致性衡量分布式系统的指标分布式下down机的处理⽅案分布式系统设计paxos和raft
  • 2024-03-19raft算法和etcd代码解析-1.raft基本概念
    笔记导言该系列笔记用于GO语言和RAFT算法学习前部分介绍raft算法后部分介绍etcd代码etcd源码来自github,版本主要为ectd-3.1.5本文主要根据视频:<<raft算法工程案例之etcd源码导读>><<解析分布式共识算法之Raft算法>>以上视频作者主页:https://space.bilibili.com/317473362
  • 2024-03-11【转】Raft 理论基础
     原文: https://www.zhihu.com/people/chapin666/posts?page=3----------------- Raft理论基础chapin666​Talkischeap,showmethecode. 32人赞同了该文章 一、从“拜占庭将军问题”开始1.1问题描述拜占庭将军问题(Byzantinef
  • 2024-02-27项目中协程加入的原因和过程分享
    原文已经发到项目wiki页面:https://github.com/youngyangyang04/KVstorageBaseRaft-cpp/wiki/协程加入的原因和过程分享欢迎大家给项目来个star哈哈哈。在feat:协程替代doElectionTicker和doHeartBeatTicker线程byTiNnNnnn·PullRequest#29·youngyangyang04/KVstorageBa
  • 2024-01-3128图图解Raft协议,so easy~~
    大家好,我是三友~~在之前写的《万字+20张图探秘Nacos注册中心核心实现原理》这篇文章中我留了一个彩蛋当文章点赞量突破28个,就单独写一篇关于Raft协议的文章既然现在文章点赞量已经超过28个,那我就连夜爆肝,把这个坑给填上由于Nacos使用的是实现了Raft协议的JRaft框架,所以本文
  • 2024-01-21Seata 2.x 首个版本正式发布,支持 Raft 集群模式
    作者:Seata社区用户登记欢迎已使用用户在此链接登记,便于我们更好的针对业务场景优化:https://github.com/seata/seata/issues/12462.x Roadmap发布概览2.0.0中对大家期待已久的Raft集群模式做了支持,Raft集群模式消除了对第三方注册中心和Seata-Server后端存储的依赖,
  • 2023-12-21《Java架构师的第一性原理》30分布式计算之分布式算法
    极客时间 韩健 121.分布式协议与算法实战00 开篇词|想成为分布式高手?那就先把协议和算法烂熟于心吧为什么要单独讲分布式协议和算法呢?在我看来,它其实就是决定分布式系统如何运行的核心规则和关键步骤。如果一个人想真正搞懂分布式技术,开发出一个分布式系统,最先需要掌握的
  • 2023-12-19实现 Raft 协议
    文章地址简介Raft是一个分布式共识算法,用于保证所有机器对一件事达成一个看法。本文用于记录实现Raft选举和日志复制的代码细节。选举节点启动时首先是跟随者状态,如果到达选举超时时间就尝试选举,为了预防对称网络分区带来的任期不断增加问题,需要使用预投票机制。选举超时
  • 2023-12-13Paxos
    https://www.bilibili.com/video/BV1xR4y1E772/https://www.bilibili.com/video/BV1X54y1d7xU/https://mp.weixin.qq.com/s/IsTTg-rICZCOOc2uXz5mKQ啥是提案?啥事提案值?提案编号,如何自增,proposer发送的提案会发送到其他proposer中吗?不发送的话,其他proposer如何自增提案编号?引
  • 2023-12-08解密 ArcGraph 分布式一致性:Raft 协议与分布式事务实现丨技术专栏
    导读:本文提出了一种将事务日志和Raft日志融合在一起的机制,从而实现了分布式事务和数据一致性的场景。01背景介绍分布式系统是伴随着互联网的高速发展而出现的。其出现为了应对单机系统无法解决的高并发、高可用性、容错性等问题。分布式系统将传统的系统扩容模式,从scaleup
  • 2023-11-26MIT6.824 笔记:Lab2 Raft
    MIT6.824笔记:Lab2Raft环境配置goland环境配置同级目录下其他包无法引用,需要修改相关参数
  • 2023-11-23深度解读:Raft是Paxos的一个变种么?
    Paxos算法是基于消息传递且具有高度容错特性的一致性算法,是目前公认的解决分布式一致性问题最有效的算法之一。Google在自家的数据存储例如Spanner、Chubby中都广泛使用了Paxos作为一致性协议,Oracle的MySQLGroupReplication(MGR),Aurora、Neon也宣称实现了某种形式的Paxos
  • 2023-11-22聊聊分布式 SQL 数据库Doris(四)
    FE层的架构都能在网上找到说明.但BE层的架构模式、一致性保障、与FE层之间的请求逻辑,数据传输逻辑等,我个人暂时没有找到相应的博客说明这些的。当然这些是我个人在学习与使用Doris过程中,对内部交互逻辑与实现感兴趣才有这些疑问.还好现在有GPT这类大模型,有了疑问,只要问题描述得
  • 2023-11-09Apache Ratis在Alluxio中应用
    1.背景在alluxio1.8中,alluxiomaster只支持单节点部署,一旦挂掉,整个集群将不可用。alluxio2.x后,提供了高可用方案:Alluxio组件中嵌入ApacheRatis代码,由Ratis负责选举leader,Alluxio的各个master在同步editlog时,由Ratis提供editlog的一致性传输。Ratis服务基于Raft共识算法,该算
  • 2023-11-05Nebula Graph开源分布式图数据库,万亿级数据,毫秒级延时
    推荐一个分布式图数据库NebulaGraph,万亿级数据,毫秒级延时什么是NebulaGraphNebulaGraph是一款开源的、分布式的、易扩展的原生图数据库,能够承载包含数千亿个点和数万亿条边的超大规模数据集,并且提供毫秒级查询什么是图数据库图数据库是专门存储庞大的图形网络并从中检索