#405·kafka-go

在异步模式下使用 Writer 时,向客户端暴露错误通道

作者: Evanjt1创建于 2020年2月24日更新于 2026年1月20日
标签enhancementquestion

目前,如果 `Writer` 处于异步模式,即: `WriterConfig.Async == true`, 当将消息写入 Kafka 时出现的任何错误都会被忽略。对于在异步模式下的各种用例,很方便能够看到这些错误。我特别希望能够看到这些错误,以便我可以处理失败的消息,并可能将其发送到死信队列,而不丢失异步发送的优点。作为一种可能的实现,我考虑添加一个错误通道(`chan WriterError`),客户端可以从中读取错误。该通道将被缓冲,大小将由 `WriterConfig` 控制。Sarama 具有类似的功能,请参阅 https://GitHub.com/Shopify/sarama/blob/6e063e619ea7e2bd19a18782a3c727cf0d6b0c3e/async_producer.go#L47

内容来源: segmentio/kafka-go