生产者ISR

作者: Shaw_Young | 来源:发表于2022-02-01 21:58 被阅读0次

数据可靠性保证

为保证producer发送的数据,能可靠的发送到指定的topic,topic的每个partition收到producer发送的数据后,都需要向producer发送ack(acknowledgement确认收到),如果producer收到ack,就会进行下一轮的发送,否则重新发送数据。

1)副本数据同步策略
方案 优点 缺点
半数以上完成同步,就发送ack 延迟低 选举新的leader时,容忍n台节点的故障,需要2n+1个副本
全部完成同步,才发送ack 选举新的leader时,容忍n台节点的故障,需要n+1个副本 延迟高

Kafka选择了第二种方案,原因如下:
1.同样为了容忍n台节点的故障,第一种方案需要2n+1个副本,而第二种方案只需要n+1个副本,而Kafka的每个分区都有大量的数据,第一种方案会造成大量数据的冗余。
2.虽然第二种方案的网络延迟会比较高,但网络延迟对Kafka的影响较小。

2)ISR

采用第二种方案之后,设想以下情景:leader收到数据,所有follower都开始同步数据,但有一个follower,因为某种故障,迟迟不能与leader进行同步,那leader就要一直等下去,直到它完成同步,才能发送ack。这个问题怎么解决呢?

Leader维护了一个动态的 in-sync replica set(ISR),意为和header保持同步的follower集合。当ISR中的follower完成数据的同步之后,leader就会给follower发送ack。如果follower长时间未向leader同步数据,则该follower将被踢出ISR,该时间阈值由replica.lag.time.max.ms参数设定。Leader发生故障之后,就会从ISR中选举新的leader。

相关文章

  • 生产者ISR

    数据可靠性保证 为保证producer发送的数据,能可靠的发送到指定的topic,topic的每个partitio...

  • kafka 基础知识大全

    本文包括kafka的定义、安装、启动、架构、工作流程、原理、生产者、消费者、分区、ISR节点、HW、分区分配策略、...

  • 面试题3

    30.ISR、OSR、AR 是什么? ISR:In-Sync Replicas 副本同步队列 OSR:Out-of...

  • spark streaming+kafka调优

    问题1:Kafka Topic ISR不全 Leader会跟踪与其保持同步的Replica列表,该列表称为ISR(...

  • 【Kafka系列】2.1 服务端 - 基本概念

    1.ISR、OSR、AR是什么? ISR:In-Sync Replicas 副本同步队列。所有与 leader 副...

  • Kafka 面试题

    1.Kafka中的ISR、AR代表什么? ISR:与leader保持同步的follower集合 AR:分区的所有副...

  • Kafka的知识点梳理

    Kafka的用途有哪些?使用场景如何? Kafka中的ISR、AR又代表什么?ISR的伸缩又指什么 Kafka中的...

  • NIOS2 API函数

    C Example Example 8–1 illustrates an ISR that services a ...

  • Kafka图文详解

    From Quorum to ISR Every write operation goes to all repl...

  • (7)ISR、AR代表什么?ISR伸缩是什么?

    AR(Assigned Repllicas):分区中所有副本统称 ISR(In-Sync Replicas):与l...

网友评论

    本文标题:生产者ISR

    本文链接:https://www.haomeiwen.com/subject/kyykkrtx.html