首页 > 试题广场 >

生产者配置 `acks=all`,主题配置 `replica

[单选题]
生产者配置 `acks=all`,主题配置 `replication.factor=3` 且 `min.insync.replicas=2`。生产者发送一条消息,Leader 成功将其复制到了一个 Follower,此时 ISR 中包含 Leader 和这个 Follower。Leader 随即向生产者返回成功确认。就在生产者收到确认的瞬间,ISR 中的两个副本(即原 Leader 和那个 Follower)所在的 Broker 同时断电。关于这条消息的最终状态,以下描述最准确的是?
  • 生产者的发送请求会失败,因为它需要等待所有3个副本都同步完成。
  • 消息被认为是已提交的,因为生产者收到了成功的确认,但实际上这条消息已经丢失了。
  • 消息是安全的,因为第三个副本最终会成为新的 Leader 并包含这条消息。
  • 由于生产者收到了成功的确认,它会继续发送下一条消息,Broker 会从 Zookeeper 恢复丢失的消息。
这种情况,其实就是程序层面不可控状态,就像机房停电等引起的故障,只能线下或人工或辅助措施
编辑于 2026-02-27 18:41:41 回复(0)