服务好的普通网站建设,丽水市企业网站建设 微信营销 影视拍摄,机械 网站源码,flash分享网站一. 什么是ISR #xff1f; Kafka 中通常每个分区都有多个副本#xff0c;其中一个副本被选举为 Leader#xff0c;其他副本为 Follower。ISR 是指与 Leader 副本保持同步的 Follower 副本集合。ISR 机制的核心是确保数据在多个副本之间的一致性和可靠性#xff0c;同时在 …一. 什么是ISR Kafka 中通常每个分区都有多个副本其中一个副本被选举为 Leader其他副本为 Follower。ISR 是指与 Leader 副本保持同步的 Follower 副本集合。ISR 机制的核心是确保数据在多个副本之间的一致性和可靠性同时在 Leader 副本出现故障时能够快速进行故障转移保证服务的可用性。
二. ISR 基本原理
1. 数据同步过程 首先 生产者发送的消息首先会被 leader 副本接收leader 副本会将消息写入本地日志文件并更新其偏移量。follower 副本会定期向 leader 副本发送 fetch 请求拉取新的消息。follower 副本在收到消息后会将其写入本地日志文件并更新自己的偏移量。如果 Follower 副本能够及时地从 leader 副本拉取到数据并将其成功写入本地日志那么该 follower 副本就被认为是与 leader 副本保持同步的会被包含在 ISR 集合中。
2. ISR 变更 当一个新的 follower 副本启动并开始从 leader 副本拉取数据时如果它能够在一定时间内跟上 leader 副本的进度即它的日志偏移量与 leader 副本的差距在允许范围内那么它就会被添加到 ISR 集合中。 反之如果某个 follower 副本由于网络故障、磁盘故障等原因导致它与 leader 副本的差距超过了一定的阈值那么它就会被从 ISR 集合中移除。当 follower 副本恢复正常后会尝试重新追赶 leader 副本一旦追上又会被重新加入到 ISR 集合中。 3. 选举与故障转移 选举当 leader 副本出现故障时kafka 会从 ISR 集合中选举一个 follower 副本作为新的 leader。通常选择 ISR 中日志偏移量最大的 follower 作为新 leader因为它的数据与原 leader 最为接近能够最大程度地保证数据的一致性。新的 leader 选举出来后它会等待 ISR 中的其他副本将数据同步到自己的高水位然后才会开始处理新的消息。这样可以确保在故障转移过程中已经被 ISR 中的所有副本确认的消息不会丢失从而保证了数据的一致性。 4. 涉及到的配置参数 replica.lag.time.max.ms用于配置 follower 副本与 leader 副本之间允许的最大延迟时间。如果 follower 副本在这个时间内没有向 leader 副本发送 fetch 请求或者没有跟上 leader 副本的进度那么它将被认为是滞后的并可能会被移出 ISR 集合。默认值是 10000 毫秒。 replica.lag.max.messagesfollower 副本与 leader 副本之间允许的最大消息滞后数量。如果 follower 副本落后 leader 副本的消息数量超过了这个阈值它也可能会被移出 ISR 集合。 三. 查看ISR信息 查看某个topic的分区ISR信息
bin/kafka-topics.sh --describe --bootstrap-server 10.139.3.100:9092 --topic xxxx
---------------------------------------------------------------------------------------------- 深耕运维行业多年擅长linux、容器云原生、运维自动化等方面。 欢迎沟通交流
V xiaoxiangbj2013