Kafka 消息发送失败的重试机制主要发生在 Producer(生产者) 端。当生产者将消息发送给 Broker 时,可能会因为网络抖动、Leader 选举等瞬时故障导致发送失败。Kafka 提供了内置的自动重试机制来保证消息的高可用性和可靠性。 以下是 Kafka 生产者重试机制的详细解析: 1. 核心配置参数 Kafka 生产者的重试行为主要由以下几个参数控制: (重试次数) 含义:决定了生产者在抛出致命异常之前,针对可重试异常(Transient Exceptions)尝试重新发送消息的次数。 默认值:在较新的版本(2.1+)中,默认值通常是 (即无限次),而不是以前的 0。 注意:虽然设置为无限次,但它受限于 。 (投递超时时间) 含义:这是现代 Kafka 生产者控制重试逻辑的核心参数。它表示调用 方法后,生产者等待 Broker 确认(Ack)的最大总时间。 机制:这个时间包含了:消息在缓冲区等待的时间 + 发送请求的时间 + 所有重试的时间。 默认值:通常为 120000ms (2分钟)。 逻辑:如果在这个时间内消息没有发送成功(无论重试了多少次),生产者就会放弃并...