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,确保数据一致性)。
相关推荐
core5123 小时前
基于elk实现分布式日志
分布式·elk·日志·logstash
扶风呀9 小时前
分布式与微服务宝典
分布式·微服务·架构
Warren9810 小时前
Java Record 类 — 简化不可变对象的写法
java·开发语言·jvm·分布式·算法·mybatis·dubbo
crossoverJie12 小时前
在多语言的分布式系统中如何传递 Trace 信息
分布式·后端·开源
一个儒雅随和的男子13 小时前
Seata深度剖析:微服务分布式事务解决方案
分布式·微服务
十年一梦实验室13 小时前
【IgH EtherCAT】 一个硬实时 EtherCAT 主站示例基于RTAI/LXRT并实现了分布式时钟 (DC) 同步功能
分布式
柏峰电子14 小时前
分布式光伏气象站:为光伏电站的 “气象感知眼”
分布式
bing_15815 小时前
kafka 消费者组的概念是什么?它是如何实现消息的点对点和发布/订阅模式?
分布式·kafka
会飞的架狗师17 小时前
【Kafka系列】第三篇| 在哪些场景下会选择使用 Kafka?
kafka
三木水1 天前
Spring-rabbit使用实战七
java·分布式·后端·spring·消息队列·java-rabbitmq·java-activemq