• 2024-09-15分布式学习:Raft算法以及具体实现
    Raft算法一致性算法的要求:安全性,网络延迟、分区、丢包、重复和乱序等错误需要保证正确可用性:集群中只需要大多数机器即可运行不依赖时序保证一致性三种状态:follower,candidate,leader任期:逻辑时钟的作用,每一段任期从一次选举开始分票可能会导致一个任期没有leader用
  • 2024-09-10MIT6.824 课程-Raft
    FaultTolerance-Raft容错模式我们已经学习了以下几种容错模式(fault-tolerancepattern):计算冗余:MapReduce,但是所有计算由单点Master进行调度。数据冗余:GFS,也是依赖单点Master来对多个副本进行选主。服务冗余:VMware-FT依赖单个TestAndSet操作可以看出他们都依赖单
  • 2024-09-022024-08-28-RAFT-中英对照
    RAFT:RecurrentAll-PairsFieldTransformsforOpticalFlowRAFT:用于光流的循环全对域变换ZacharyTeedandJiaDeng普林斯顿大学{zteed,jiadeng}@cs.princeton.edu{zteed,jiadeng}@cs.princeton.eduAbstract.WeintroduceRecurrentAll-PairsFieldTransforms(RAF
  • 2024-08-18RabbitMQ集群 - 仲裁队列、Raft协议(最详细的选举流程)
    文章目录仲裁队列概述Raft协议概述基本概念选举流程(重点)消息复制仲裁队列的使用MQ管理平台SpringAMQP仲裁队列概述1)RabbitMQ普通队列在一个节点宕机之后,其他节点无法读写宕机节点的队列,为了解决这个问题,引入了仲裁队列.2)仲裁队列通过Raft协议,实现了不同
  • 2024-08-16Linux下ETCD安装、配置、命令
    1.简介1.1.概述ETCD是一个开源的分布式系统工具,它提供了一个分布式键值存储系统,数据被分布式地存储在多个节点上。ETCD使用Raft协议来确保一致性和容错性,保证在节点故障或网络分区情况下数据的可用性和一致性。ETCD的诞生背景是为了解决集群管理系统中操作系统升级
  • 2024-08-15KV存储之ETCD
    ETCD是一种分布式键值存储系统,主要用于分布式系统中的配置管理、服务发现和分布式协调。它由CoreOS团队开发,现在是CNCF(云原生计算基金会)托管的一个开源项目。ETCD在设计时非常注重一致性、可用性和性能,通常被用于容器编排系统(如Kubernetes)中,用作其后台数据存储。以下是
  • 2024-08-01机器学习笔记 - RAFT 光流简读
    一、光流        光流是图像序列中像素的表观运动。为了估计光流,场景中物体的移动必须具有相应的亮度位移。这意味着一个图像中移动的红球在下一个图像中应该具有相同的亮度和颜色,这使我们能够确定它以像素为单位移动了多少。下图显示了光流示例,其中一系列图像捕获了
  • 2024-07-30区块链共识协议算法
    一、常见共识协议算法1.ByzantineFaultTolerance(BFT)BFT是一种容错算法,旨在在系统中存在一部分恶意或故障节点的情况下,仍然能够达到一致性。特点:容忍拜占庭故障,即能够处理部分节点不可靠或恶意的情况。通常适用于许可链(私有链或联盟链)。应用:HyperledgerFabri
  • 2024-07-27Raft协议深度解析:RocketMQ中基于DLedger的日志主从复制
    本文所涉及的注释源码:bigcoder84/dledgerRaft协议主要包含两个部分:Leader选举和日志复制。前面我们在Raft协议深度解析:RocketMQ中的自动Leader选举与故障转移一文中已经详细介绍了DLedger如何实现Leader选举的,而本文主要聚焦于Leader选举完成后的日志复制的过程。一.Rock
  • 2024-07-07通过JRaft简单使用raft选举
    依赖:<dependency><groupId>com.alipay.sofa</groupId><artifactId>jraft-core</artifactId><version>1.3.14</version></dependency>StateMachine.java:@Slf4jpublicclassStateMachineextendsStateMachineA
  • 2024-07-06深度解析 Raft 分布式一致性协议
    深度解析Raft分布式一致性协议本文参考转载至:浅谈Raft分布式一致性协议|图解Raft-白泽来了-博客园(cnblogs.com)深度解析Raft分布式一致性协议-掘金(juejin.cn)raft-zh_cn/raft-zh_cn.mdatmaster·maemual/raft-zh_cn(github.com)本篇文章将模拟一个KV
  • 2024-07-06MIT6.824-2022 分布式系统课程实验笔记 Lab 2A Raft-领导者选举(leader election)--xunznux
    Lab2A:Raft文章目录Lab2A:RaftLab1:MapReduceLab2:Raft实验解读Lab2B:日志复制我的代码实现(附带详细代码注释)前言Part2A:[leaderelection](中等难度)提示错误:实现细节(包含对于方法的解释如有错误大佬勿喷)结构体GetState()获取节点任期和角色sendAllRequestVote()发起投票
  • 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