分区(Partition):作用是分段存储kafka中的消息
副本:是对分区的备份,在集群中,不同的副本会被部署在不同的broker上。

一:副本概念

副本是对分区的备份。在集群中,不同的副本会被部署在不同的broker上。

1.1 副本实例及说明

下面例子:创建1个主题,2个分区、3个副本。

./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 2 --topic my-replicated-topic

实际操作:

[root@localhost bin]# ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 2 --topic my-replicated-topic
Created topic my-replicated-topic.
# 查看该topic
[root@localhost bin]# ./kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic
Topic: my-replicated-topic      PartitionCount: 2       ReplicationFactor: 3    Configs: Topic: my-replicated-topic      Partition: 0    Leader: 1       Replicas: 1,0,2 Isr: 1,0,2Topic: my-replicated-topic      Partition: 1    Leader: 2       Replicas: 2,1,0 Isr: 2,1,0
[root@localhost bin]# 

查看的信息解释:

上图中的参数意义如下:

  1. replicas:leader和flower,主从之间副本之间目前有的结点数
    当前副本存在的broker节点

  2. leader:副本里的概念

    • 每个partition都有一个broker作为leader。
    • 消息发送方要把消息发给哪个broker?就看副本的leader是在哪个broker上面。副本里的leader专门用来接收消息。接收到消息,其他follower通过poll的方式来同步数据。
  3. follower: leader处理所有针对这个partition的读写请求,而follower被动复制leader,不提供读写(主要是为了保证多副本数据与消费的一致性),如果leader所在的broker挂掉,那么就会进行新leader的选举,至于怎么选,在之后的controller的概念中介绍。

  4. Isr:作用为当leader挂了的话,在选举新的leader的时候就想要从Isr集合中选取
    可以同步的broker节点和已同步的broker节点,存放在isr集合中。

生产者发送消息会往leader上面发,消费者消费消息也是从leader上面去消费;副本的作用就是等leader挂了之后,其副本所在的broker变为leader

1.2 副本总结(leader、flower、isr说明)

副本是为了为主题中的分区创建多个备份,多个副本在kafka集群的多个broker中,会有一个副本作为leader,其他是follower。

  1. leader
    kafka的写和读的操作,都发生在leader上。leader负责把数据同步给folower。当leader挂了,经过主从选举,从多个follower中选举产生一个新的leader
  2. flower
    接收leader的同步的数据
  3. isr
    可以同步和已同步的节点会被存入到isr集合中。这里有一个细节:如果isr中的节点性能较差,会被提出isr集合

1.3 broker、主题、分区、副本总结

集群中有多个broker,创建主题时可以指明主题有多个分区(把消息拆分到不同的分区中存储),可以为分区创建多个副本,不同的副本存放在不同的broker里

Kafka(9)副本(leader、flower、isr说明)相关推荐

  1. Kafka 副本leader选举

    谁来实施 分区leader副本的选举由Kafka Controller 负责具体实施. 选举时间 leader挂掉时 broker挂掉时,然后broker上可能有某些leader 选举资格 Kafka ...

  2. KafKa - 分区副本ISR选举机制

    一.KafKa分区副本ISR选举机制 kafka 中每一个主题又进一步划分成若干个分区.副本的概念实际上是在分区层级下定义的,每个分区配置有多若干个副本. 所谓的副本,本质上就是一个只能追加写消息的提 ...

  3. 图文了解 Kafka 的副本复制机制

    让分布式系统的操作变得简单,在某种程度上是一种艺术,通常这种实现都是从大量的实践中总结得到的.Apache Kafka 的受欢迎程度在很大程度上归功于其设计和操作简单性.随着社区添加更多功能,开发者们 ...

  4. Kafka中副本机制的设计和原理

    Kafka中一个分区可以拥有多个副本,副本可分布于多台机器上.而在多个副本中,只会有一个Leader副本与客户端交互,也就是读写数据.其他则作为Follower副本,负责同步Leader的数据,当Le ...

  5. kafka的副本以及分区与副本的关系

    一 副本的作用 1.Kafka 副本作用:提高数据可靠性. 2.Kafka 中副本分为:Leader 和 Follower.Kafka 生产者只会把数据发往 Leader, 然后 Follower 找 ...

  6. Kafka分区副本重分配源码分析

    Kafka分区副本重分配 文章目录 Kafka分区副本重分配 1.前言 2.分区副本重分配流程图 3.分区副本重分配详细分析 3.1 客户端行为 3.1.1 执行副本重分配脚本 3.1.2 解析并验证 ...

  7. kafka关于副本的理解

    前言 副本机制是许多存储引擎必备的,在数据存储时候,为了保证数据的高可靠性,常常需要将主节点数据进行备份存储,即保存一份与主节点相同的数据集,一旦主节点发生宕机等故障,通过副本还能进行数据的恢复,比如 ...

  8. Kafka数据高可靠ACK/ISR/HW你都会了吗?

    为保证producer发送的数据,能可靠的发送到指定的topic,topic的每个partition收到producer发送的数据后,都需要向producer发送ack(acknowledgement ...

  9. kafka:replica副本同步机制

    1 前言 Kafka的流行归功于它设计和操作简单.存储系统高效.充分利用磁盘顺序读写等特性.非常适合在线日志收集等高吞吐场景. Kafka特性之一是它的复制协议.复制协议是保障kafka高可靠性的关键 ...

  10. Kafka分区副本分配规则

    Kafka分区副本分配规则 文章目录 Kafka分区副本分配规则 1.前言 2.自动分配 a. 无机架方式分配 b. 有机架方式分配 (1)机架介绍 (2)有机架方式分配的目的 (3)分配规则 c. ...

最新文章

  1. discuz_style_default.xml修改
  2. wireshark抓包图解 TCP三次握手/四次挥手详解
  3. 最简单的方式实现一棵二叉树
  4. 《Head First Servlets JSP(中文版)》书摘
  5. 服务器中显示存储设备,服务器节点信息集中显示方法、系统、设备及存储介质...
  6. 清除重复记录只保留一条
  7. wav音量和分贝转换关系_Permute 3 for mac(音视频格式转换器) 最新版
  8. asp.net web开发步骤_WEB开发流程
  9. 打破气球所能获得的最大积分 Burst Balloons
  10. 连Spring源码都没看过,你怎么敢在简历上写“精通”?
  11. 一个比较完整的pytorch项目
  12. 易语言卷帘菜单与json_易语言卷帘式菜单组件使用教程
  13. 440页PPT华为大数据分享专场|实时|离线|数仓
  14. oracle查询表锁定以及解锁方法
  15. Office2016专业版打开超链接时提示“您的组织策略阻止我们为您完成此操作。...”问题解决
  16. RepVGG:算法简介及repvgg.py代码解析
  17. linux fall delay 10,delay/skew/slack/slew的区别
  18. 鸿蒙系统为万物互联而生,鸿蒙系统发布:万物互联 EMUI10同台上场
  19. Qt-源码部分编译-C++
  20. 黑客与画家——片段一

热门文章

  1. 无线通信系统的基本结构
  2. Rook+ceph+wordpress部署
  3. STM32F103RCT6点亮LED灯
  4. Xilinx 原语简介--(Xilinx FPGA开发实用教程)
  5. 学无止境,笔不停耕----写博客两周年的一些感悟
  6. Okidoki - Alpha阶段项目展示 - TEAM LESS ERROR
  7. 微型计算机原理与接口技术考研,微型计算机原理与接口技术
  8. 常见软件系统的供应商
  9. 【Go资料】go语言学习资料书籍
  10. LinuX 硬盘分区细节详谈