Apache kafka 一个主题有3个副本,min.insyinc.replications为2,当follower和in-syinc副本都下降并且消费者想要阅读时会发生什么?

Apache kafka 一个主题有3个副本,min.insyinc.replications为2,当follower和in-syinc副本都下降并且消费者想要阅读时会发生什么?,apache-kafka,kafka-consumer-api,reliability,Apache Kafka,Kafka Consumer Api,Reliability,我正在准备CCDAK认证,我提出了这个问题: “一个主题有三个副本,您将min.insync.replicas设置为2。如果三个副本中有两个不可用,当消费请求发送到代理时会发生什么情况?” 答案是: 剩余的同步副本将返回数据 我对一个极端情况产生了疑问:如果leader和in-sync replica同时下降(第三个replica仍然不同步),而consumer想要读取第三个replica中不存在的消息(由于它是不同步的replica,所以可能还没有被复制),会发生什么 一个实际的例子是这样的:

我正在准备CCDAK认证,我提出了这个问题:

“一个主题有三个副本,您将min.insync.replicas设置为2。如果三个副本中有两个不可用,当消费请求发送到代理时会发生什么情况?”

答案是:

剩余的同步副本将返回数据

我对一个极端情况产生了疑问:如果leader和in-sync replica同时下降(第三个replica仍然不同步),而consumer想要读取第三个replica中不存在的消息(由于它是不同步的replica,所以可能还没有被复制),会发生什么


一个实际的例子是这样的:假设消费者提交了偏移量10,并希望从11读取,但第三个副本的消息最多为偏移量9。领导者和追随者都倒下了,会发生什么?消费者是否会等待其他经纪人,或者卡夫卡是否会抛出一个我必须处理的错误?

您的消费者不会被重新平衡,因为从卡夫卡方面看,它无法为该分区选择领导者。该分区未同步,然后Kafka将等待其他副本的启动以选择一个引线。在这种情况下,您的消费者将被绞死。

因此,您是否同意我的观点,即由于上述拐角案例,给出的答案并不完全正确?