Appearance
生产端的重试
生产者在向Kafka发送消息时,可能会因为网络问题、Broker不可用、队列满等原因导致发送失败。Kafka生产者内置了重试机制,用于确保消息尽最大努力被成功发送到Kafka集群。
消费端的重试
在 Kafka 中,消费者从 broker 拉取消息并处理时,可能会因为处理逻辑失败而无法成功消费消息。Kafka的消费者端重试机制并不是自动化内置的,而是需要开发者在消费者应用中进行额外的设计。
手动 ACK + 阻塞式重试
使用的方式是: Kafka 原生重试(DefaultErrorHandler)
在我们的项目中(一般指 SpringBoot 项目),我们会配置一下是否自动提交
组件重试
项目组引入的一个组件,设计思想可以学习掌握一下

Broker端
Kafka在内部实现了多个自动的重试机制,用于保障分布式集群的可靠性和数据一致性。