kafka主题,分区,副本,节点几个概念理解

kafka相关概念

一、相关概念

  • 主题:类似于数据库中的表,用于存放生产者的数据
  • 分区:类似于数据库的中分表,将一个主题分成多个分区(一个大表分成多个分表)
  • 节点:kafka数量,或者理解为kafka集群服务器节点数量
  • 副本:相当于对分区的一个备份,这个值小于等于节点数量
  • 消费者组:消费同一类主题的多个消费者

kafka集群中:

如果所有主题配置的是1个副本。当一个节点挂了之后,其他节点无法正常消费。

如果只有doorinout主题副本是二个,当一个节点挂了后,其他节点无法正常消费。

如果__consumer_offsets主题副本是2个,doorinout主题副本是二个,当一个节点挂了后,其他节点除doorinout主题外,其他主题无法消费。

Broker123 为三个不同的节点

topic为主题1,分成了3个分区,3个副本。

即

bash 复制代码
./bin/kafka-topics.sh --describe --zookeeper 172.16.10.201:2181 --topic myTopic

Topic:myTopic PartitionCount:3 ReplicationFactor:3 Configs:

Topic: myTopic Partition: 0 Leader: 2 Replicas: 2,3,1 Isr: 2,3,1

Topic: myTopic Partition: 1 Leader: 3 Replicas: 3,1,2 Isr: 3,1,2

Topic: myTopic Partition: 2 Leader: 1 Replicas: 1,2,3 Isr: 1,2,3

myTopic中,PartitionCount:3 (分区为3)ReplicationFactor:3 (副本为3)

leader为分区的leader所在的节点。分区0分散在三个副本上,三个副本分散在三个节点上。其他主题分区的副本也都散落在不同的 Broker 上,从而实现数据冗余。

  • AR:Kafka 分区中的所有副本统称为 AR(Assigned Repllicas)
  • ISR:表示和 Leader 保持同步的 Follower 集合。 如果 Follower 长时间未向 Leader 发送通信请求或同步数据,则该 Follower 将被踢出 ISR。 该时间阈值由 replica.lag.time.max.ms参数设定,默认 30s。 Leader 发生故障之后,就会从 ISR 中选举新的 Leader。
  • OSR:表示 Follower 与 Leader 副本同步时,延迟过多的副本

AR = ISR + OSR

相关推荐
此时不提桶,更待何时9 小时前
06-23-A-RabbitMQ生态集成详解
分布式·rabbitmq
m0_6464299714 小时前
RabbitMQ 核心知识总结(生产实战版)
分布式·rabbitmq
DBA_G16 小时前
GBase 8c分布式数据库客户端工具 gsql
数据库·分布式
chunyublog16 小时前
Spark 词频统计练习
大数据·分布式·spark
ClouGence17 小时前
开源数据库管理工具 CloudDM 4.4.0 发布,新增 Kafka、SAP HANA 数据源
数据库·kafka
acrel717 小时前
高速公路分布式光伏并网电能质量与安全保护方案应用
分布式·安全
RobinXYuan17 小时前
【Kafka 源码手记】01 从消息队列到 Event Streaming
kafka·源码阅读
IT小小猪19 小时前
# Hadoop 3.3.6 完全分布式集群部署知识库
hadoop·分布式·eclipse
此时不提桶,更待何时19 小时前
06-24-B-RabbitMQ面试与生产事故实战
分布式·面试·rabbitmq
来福猿20 小时前
分布式锁 Redis 实现源码分析:SETNX、过期时间与可重入设计
数据库·redis·分布式