kafka 0.8生产者,使用“request.required.acks”属性

mkh04yzy  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(445)

从producer config属性下的0.8文档 request.required.acks 值控制 producer receives an acknowledgement 从经纪人那里。
典型值为
(1) 0,这意味着生产者从不等待来自代理的确认
(2) 1,也就是说 producer gets an acknowledgement 在引导副本接收到数据之后
(3) -1,也就是说 producer gets an acknowledgement 在所有同步副本接收到数据之后
当生产商 request.required.acks 价值是 1 . 这个 producer.send(MessageKey) 作为一个空白,我找不到任何选项来检索它。

eeq64g8w

eeq64g8w1#

producersend的api还有很多需要改进的地方,特别是在异步模式下。这些ack对producer对象的用户是隐藏的。如果他们失败了,你最终会看到一个例外。
异步情况下的问题是,您将不知道失败的批处理是如何开始的,因此如果您想稍后重试发送,则需要进行一些猜测。
似乎有计划在未来的版本(>0.8.0)中对此进行改进。

相关问题