• 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
  • 2023-09-18分布式一致性算法——Raft
    RaftLeaderElection背景介绍Raft是一种用于管理Log的分布式一致性算法,在了解Raft之前首先需要了解为什么需要Log?对于不同的系统,无论是中间件疑惑是其余的系统,我们如果想要求其满足CAP协议中的一致性,需要尽量保证多节点的数据是相同的,也就是所谓的“共识”。下文中将这些需要
  • 2023-08-29Kafka - 为什么 Kafka 不像 MySQL 那样允许追随者副本对外提供读服务?
    几个原因:1,kafka的分区已经让读是从多个broker读从而负载均衡,不是MySQL的主从,压力都在主上;2,kafka保存的数据和数据库的性质有实质的区别就是数据具有消费的概念,是流数据,kafka是消息队列,所以消费需要位移,而数据库是实体数据不存在这个概念,如果从kafka的follower读,消费端offset控制
  • 2023-08-22Easysearch 跨集群复制实战
    在之前的文章中,有通过网关实现容灾的案例。今天给大家介绍Easysearch的跨集群复制功能。该功能可在集群之间复制数据,应用场景包括但不限于以下举例:灾备同步:将数据同步到灾备中心,灾备中心可对外提供查询服务。读写分离:单一集群读写压力都较大时,为了避免读写互相干扰造成性能降级,可
  • 2023-08-22Easysearch 跨集群复制实战
    在之前的文章中,有通过网关实现容灾的案例。今天给大家介绍Easysearch的跨集群复制功能。该功能可在集群之间复制数据,应用场景包括但不限于以下举例:灾备同步:将数据同步到灾备中心,灾备中心可对外提供查询服务。读写分离:单一集群读写压力都较大时,为了避免读写互相干扰造成性能降
  • 2023-08-17ZAB Raft
    共同点:1️⃣都采用多数派。2️⃣都引入Leader角色,且一个强Leader的算法,只有Leader处理写请求。不同点:1️⃣ZAB划分阶段:崩溃恢复(领导者选举,成员发现,数据同步)、消息广播;Raft:领导者选举、日志复制2️⃣ZAB的协商阶段(消息广播阶段)分为两个阶段Propose、Commit,移除了2PC的回
  • 2023-08-16手写raft(二) 实现日志复制
    1.Raft日志复制介绍在上一篇博客中MyRaft实现了leader选举,为接下来实现日志复制功能打下了基础:手写raft(一)实现leader选举日志复制是raft最核心也是最复杂的功能,大体上来说一次正常的raft日志复制大致可以简化为以下几步完成:客户端向raft集群发送一次操作请求(比如kv数
  • 2023-08-13Raft 算法
    论文《InSearchofanUnderstandableConsensusAlgorithm》,发表于2014年相比于Paxos,Raft最大的特性就是易于理解。为了达到这个目标,Raft主要做了两方面的事情:问题分解:把共识算法分为三个子问题,分别是领导者选举(leaderlection)、日志复制(logreplication)、安全性(
  • 2023-08-03分布式流处理组件-生产实战:Broker副本与优化