You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kafka min-isr与acks配置下的消息写入及确认规则问询

Kafka场景问题解答

场景配置

  • Topic参数:min.isr=2、replication.factor=3
  • Producer参数:acks=all

问题1解答

当两个副本未宕机但落后于Leader(不在ISR同步副本列表中)时,此时ISR里仅剩下Leader自己,数量(1)低于配置的min.isr=2。这种情况下,Producer发送新消息时,Kafka会抛出NotEnoughReplicas异常,同时拒绝接收该消息。因为min.isr的作用是定义Leader接受写请求所需的最小同步副本数量,一旦ISR副本数低于这个阈值,Leader会直接拒绝写操作,以此保证数据的持久性和一致性。

问题2解答

当包含Leader在内的2个副本处于同步状态(即ISR列表大小为2,满足min.isr=2要求),Producer配置acks=all时,只要这2个ISR内的副本都确认收到消息,Producer就会收到成功确认。这里要明确:acks=all的含义是等待所有处于ISR中的副本完成确认,而非所有3个副本(包括不在ISR里的落后副本)。那个未同步的副本不在ISR列表内,它的同步进度不会影响Producer的确认时机。


内容的提问来源于stack exchange,提问作者Viking22

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 01:27:35