• 2024-09-25ZooKeeper 学习笔记
    概述ZooKeeper是一个分布式协调服务,其设计初衷是为分布式软件提供一致性服务。ZooKeeper提供了一个类似Linux文件系统的树形结构,ZooKeeper的每个节点既可以是目录,也可以是数据,同时ZooKeeper提供了对每个节点的监控与通知机制。基于ZooKeeper的一致性服务,可以方便地实现
  • 2024-09-24Raft总结
    Raft算法State所有server都有的持久化状态先存储,然后响应RPCcurrentTerm当前任期,初始为0,单调递增votedFor当前任期投票给谁了,没有就是nulllog[]日志条目,每个条目都包含命令、Leader收到条目时的任期,第一个条目的index为1所有server都有的Volatilestate
  • 2024-09-24Lab3 记录
    Part3A:leaderelection1.选举主要流程新服务器加入集群服务器在启动时状态是Follower。只要持续接收到Leader或Candidate的心跳信息,就继续保持Follower状态。开始选举每个Server都有一个随机的选举超时时间,选举超时在一个固定区间内随机选择(例如,150-300毫秒)如果Follo
  • 2024-09-15分布式学习:Raft算法以及具体实现
    Raft算法一致性算法的要求:安全性,网络延迟、分区、丢包、重复和乱序等错误需要保证正确可用性:集群中只需要大多数机器即可运行不依赖时序保证一致性三种状态:follower,candidate,leader任期:逻辑时钟的作用,每一段任期从一次选举开始分票可能会导致一个任期没有leader用
  • 2024-09-07Kafka原理剖析之「Topic创建」
    一、前言Kafka提供了高性能的读写,而这些读写操作均是操作在Topic上的,Topic的创建就尤为关键,其中涉及分区分配策略、状态流转等,而Topic的新建语句非常简单bashkafka-topics.sh\--bootstrap-serverlocalhost:9092\//需要写入endpoints--create--topictopicA //要创
  • 2024-09-02分布式概念及选举算法
    概念  由很多自主的计算机组成。很容易地把运行在不同计算机上的不同应用程序集成到单个系统中。清晰的记录接口。轻松的扩展。分布式类型:分布式计算系统、分布式信息系统(数据处理)互斥    集中式算法      每个程序在需要访问临界资源时,先给协调
  • 2024-08-27面试官:Leader崩溃Follower不够新怎么办?
    这是一道非常经典的Kafka问题,是关于Leader在“异常”情况下的选举问题。背景我们知道Kafka中的Partition(分区)是存储消息的最终介质,但Partition又有两种分类:LeaderPartition:主分区,负责数据写入和读取。FollowerPartition:副本分区,用于数据备份和主节点宕机之后的分
  • 2024-08-20ZooKeeper系列之ZAB协议
    概述ZooKeeperAtomicBroadcast,ZooKeeper原子消息广播协议。ZAB协议是为分布式协调服务ZK专门设计的一种支持崩溃恢复的原子广播协议。ZK主要依赖ZAB协议来实现分布式数据的最终一致性,基于该协议,ZK实现一种主备模式的系统架构来保持集群中各个副本之间的数据一致性。集群角色
  • 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-06-23深度解析RocketMq源码-高可用存储组件(一) raft协议详解
    1.绪论前面的文章已经分析过,以前rocketmq通过主从复制的思想实现系统的高可用,即在搭建集群的时候会手动的设置一个主节点和从节点,在写入数据的时候,会先写入到主broker,然后再同步到从节点中。但是这样会有一个问题,就是主节点宕机过后,需要手动的修改从节点成为新的主节点。在roc
  • 2024-05-28简单理解Zookeeper之数据同步机制
    写入数据流程请求发给Leaderclient向Zookeeper集群的Leader节点发送写请求Leader节点接收到写请求后,会对请求进行预处理,并为这次写操作分配一个全局唯一的递增ID(ZXID)。Leader将这个写请求(提案)广播给所有的Follower节点。这个提案包含了请求的具体内容和分配的ZXID。每个
  • 2024-03-20面试官:Kafka和ES选主有什么区别?
    Kafka和ES都是用来处理大数据的中间件,一个是消息中间件的代表(Kafka),另一个是大数据搜索引擎的代表(ES)。它们在Java领域的使用非常广泛,在大数据方面就更不用说了,但它们的选主(选择主节点)有什么关联与区别呢?接下来,我们一起来看。1.基础概念1.1什么是Kafka?Kafka是一个分布式
  • 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-29kafka节点故障恢复原理
    Kafka的LEO和HWLEOLEO是Topic每一个副本的最后的偏移量offset+1HW(高水位线)HighWaterMark是所有副本中,最小的LEOFollower副本所在节点宕机由于数据同步的时候数据是先写入Leader,然后Follower副本向Leader同步只要Leader和其他的Follower副本继续往前存储数据,挂掉的节点在
  • 2024-01-3128图图解Raft协议,so easy~~
    大家好,我是三友~~在之前写的《万字+20张图探秘Nacos注册中心核心实现原理》这篇文章中我留了一个彩蛋当文章点赞量突破28个,就单独写一篇关于Raft协议的文章既然现在文章点赞量已经超过28个,那我就连夜爆肝,把这个坑给填上由于Nacos使用的是实现了Raft协议的JRaft框架,所以本文
  • 2024-01-25Kafka 的高可用原理
    Kafka集群由若干个Broker组成,Topic由若干个Partition组成,每个Partition可存在不同的Broker上。可以这样说,一个Topic的数据,分散在多个机器上,即每个机器上都存放一部分数据。Kafka0.8以前Kafka0.8以前是没有高可用机制的。假设一个Topic,由3个Partiton组成。
  • 2024-01-21kafka入门(十):副本数据同步
    副本副本(Replica),指的是分布式系统对数据和服务提供的一种冗余方式。Kafka通过多副本机制实现故障自动转移,在Kafka集群中某个broker节点失效的情况下仍然保证服务可用。失效副本在ISR集合之外,也就是处于同步失效或功能失效(比如副本处于非存活状态)的副本统称为失效副本,失效副本
  • 2024-01-18kafka入门(八):副本
    副本kafka副本之间是一主多从的关系。其中leader副本负责处理读写请求,follower副本只负责与leader副本的消息同步。副本处于不同的broker中,当leader副本出现故障时,从follower副本中重新选举新的leader副本对外提供服务。kafka通过多副本机制实现了故障的自动转
  • 2024-01-16paxos协议之衍生协议:Raft协议的简述、协议模型、一致性算法、脑裂问题处理、选举流程、数据同步流程、安全原则
    raft简述raft协议中节点有三种状态leader、follower、candidate(候选人),leader复制日志的管理、客户端的新增更新请求,然后复制到follower节点,如果leader出现故障则follower就会重新选举,新增等操作若被follower所接收则会进行重定向转给leader,follower只负责客户端的读请求。有两
  • 2023-12-26Redis设计与实现-15.复制
    redis可以通过SLAVEOF命令去复制(同步)另一台服务器,例如:当前有两台redis服务器其信息为:hostnameipportredis_1127.0.0.16379redis_2127.0.0.112345如果redis_2想要同步redis_1的内容,可以在redis_2上执行SLAVEOF127.0.0.16379,进而达到这个效果。RedisSLA
  • 2023-12-25MIT 6.824 raft01
    Raft-分布式共识算法为什么要这么设计?横向分布式,同一个模块内部为了提高系统的吞吐量而采用的多节点。优点:1.数据备份,2.负载均衡   CAP理论一致性consistency:数据强一致,读写一致。可用性availabilty:响应快。分区容错性partitiontolerance:网络环境不可靠的背景下
  • 2023-11-16Kafka 集群如何实现数据同步?
    哈喽大家好,我是咸鱼最近这段时间比较忙,将近一周没更新文章,再不更新我那为数不多的粉丝量就要库库往下掉了T﹏T刚好最近在学Kafka,于是决定写篇跟Kafka相关的文章(文中有不对的地方欢迎大家指出)考虑到有些小伙伴可能是第一次接触Kafka,所以先简单介绍一下什么是Kafka吧!Kafka
  • 2023-11-05射频跟随器(RF follower)
    射频跟随器(RFfollower)是一种电子元件,其功能是从输入信号中提取有用的信息,并将其传递到输出信号中。这种跟随器通常用于处理射频(RF)信号,因此具有特殊的频率响应和阻抗特性。射频跟随器的主要特点包括:高输入阻抗:射频跟随器的输入阻抗通常很高,这有助于减少信号的损失。低输出阻抗:射频
  • 2023-10-07【RocketMQ】Dledger模式下的日志复制
    RocketMQ在开启Dledger时,使用DLedgerCommitLog,其他情况使用的是CommitLog来管理消息的存储。在Dledger模式下,消息写入时Leader节点还需要将消息转发给Follower节点,有过半的节点响应成功,消息才算写入成功。Leader消息写入Dledger下有DLedgerMemoryStore(基于内存存储)和DLedgerMmap