kafka--基础知识点--6--AR、ISR、OSR

1 AR: Assigned Replicas 是分配给某个分区的所有副本集合,包括主副本(Leader)和从副本(Follower)。每个分区在创建时通过 replication-factor 参数指定副本数量,AR 是这些副本的完整列表。

2 ISR: In-Sync Replicas 是与 Leader 副本保持同步的副本集合,包括 Leader 自身。 。

作用:

  • 数据一致性:确保所有 ISR 副本数据一致,避免数据丢失。
  • 高可用性:当 Leader 故障时,ISR 中最合适的 Follower 会被选为新 Leader。
  • 写入确认:ack=all时 ISR 中的副本确认接收到消息后,生产者才会收到写入成功的确认,ack=0或1时不需要ISR中的副本确认接受消息

动态调整:

  • 若 Follower 同步滞后,会被移出 ISR,进入 OSR。
  • 当 Follower 恢复同步后,会重新加入 ISR。

3 OSR: Out-of-Sync Replicas 是未能及时与 Leader 同步的副本集合,通常因网络延迟、负载过高或故障导致。

特点:

  • 不参与读写:OSR 副本不参与消息的读写操作,仅作为冗余备份。
  • 恢复机制:当 OSR 副本恢复同步后,可重新加入 ISR。
  • 监控意义:通过 OSR 状态可及时发现副本故障或性能问题。

4 三者关系

包含关系:

  • AR = ISR + OSR

动态转换:

  • 副本在 ISR 和 OSR 间转换,取决于同步状态。
    例如:Follower 副本因网络问题滞后,会被移出 ISR 进入 OSR;问题解决后,重新加入 ISR。

配置参数:

  • replica.lag.time.max.ms:定义副本最大同步延迟时间(默认 10 秒)。
  • min.insync.replicas:要求 ISR 中至少有多少副本确认写入(默认 1)。
  • unclean.leader.election.enable:控制是否允许非 ISR 副本成为 Leader(默认 false,确保数据一致性)。
相关推荐
风吹夏回2 天前
RabbitMQ 核心术语 + Python pika 方法完整讲解
分布式·python·rabbitmq
风吹夏回2 天前
RabbitMQ 三种模式入门:HelloWorld、WorkQueue、PubSub
分布式·rabbitmq·ruby
霸道流氓气质2 天前
分布式追踪与 RequestId 传播完全指南
分布式
cheems95272 天前
[RabbitMQ高级特性] 消息确认机制:从 Ready / Unacked 到 basicAck、basicReject、basicNack 的底层拆解
分布式·rabbitmq·ruby
whaledown2 天前
Kafka 与 Java 消息队列入门:用订单场景理解核心机制
java·kafka·消息队列·springboot
枫华落尽2 天前
【Hadoop01-完全分布式运行模式】
分布式
隔壁阿布都2 天前
ShedLock 分布式定时任务锁框架介绍
spring boot·分布式
文艺倾年2 天前
【强化学习】数学推导专题,20W字总结(十五)
人工智能·分布式·大模型·强化学习·vibecoding
ACP广源盛139246256732 天前
GSV9001S@ACP#1080P 级视频处理芯片,物理 AI 普及终端的高性价比选择
大数据·人工智能·分布式·嵌入式硬件·spark
guslegend2 天前
第1章:初始Kafka
分布式·kafka