gpt4 book ai didi

apache-kafka - 当 ISR 关闭但消息写入领导者时会发生什么

转载 作者:行者123 更新时间:2023-12-04 08:27:11 26 4
gpt4 key购买 nike

当向所有 ISR 副本写入消息失败,但消息已经持久化在领导者上时,会发生什么?
即使请求失败,数据是否仍然可供消费者使用?
消费者是否能够读取“未提交”的数据?

最佳答案

在主题配置 min.insync.replicas 之前,KafkaConsumer 看不到该消息实现了。
Kafka 期望失败的副本代理重新启动并运行,以便完成复制。
请注意,此场景仅在您的 KafkaProducer 配置 acks 时才相关。设置为 all .当您将其设置为 0 或 1 时,一旦数据到达分区领导者,Consumer 将能够使用该消息。
通常,客户端(此处为 KafkaProducer)仅与分区领导者通信,并根据其模式(例如同步、异步或即发即弃)及其 acks 配置等待或不等待回复。数据本身的复制独立于生产者,并由分区领导代理上的(单线程)处理。领导者只会通知复制成功或失败,领导者/副本继续确保满足主题配置 replication.factor 的复制集。 .
如果消息仅被生产者确认而不是被副本确认,则生产者可能仍会尝试重新发送消息,具体取决于其 acks 设置以及异常是否可重试。在这种情况下,您最终会得到重复的值。您可以通过启用幂等性来避免这种情况。

关于apache-kafka - 当 ISR 关闭但消息写入领导者时会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65205934/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com