在 Apache Kafka 中,AR、ISR 和 OSR 是与副本(Replica)管理密切相关的概念,它们共同构成了 Kafka 副本同步和故障恢复的核心机制。理解这些概念对于构建高效、可靠的 Kafka 系统至关重要。本文将详细解释 AR、ISR 和 OSR 的定义、功能以及它们在 Kafka 中的作用。
一、AR(Assigned Replicas)
-
定义:
- AR(Assigned Replicas):AR 是指分配给某个分区的所有副本集合。每个分区都有一个 AR 集合,包含了该分区的所有副本,包括主副本(Leader)和从副本(Follower)。
-
功能:
- 副本分配:AR 集合定义了分区的副本分布情况。Kafka 使用副本分配策略将分区的副本分布在不同的 Broker 上,以实现负载均衡和高可用性。
- 副本管理:AR 集合是副本管理的基础。Kafka 通过 AR 集合来跟踪和管理分区的所有副本,包括副本的创建、删除、同步和故障恢复。
二、ISR(In-Sync Replicas)
-
定义:
- ISR(In-Sync Replicas):ISR 是指与主副本保持同步的副本集合。ISR 集合包含了所有与主副本数据一致的副本,包括主副本本身和同步的从副本。</