从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)
作为一个空白,我找不到任何选项来检索它。
1条答案
按热度按时间eeq64g8w1#
producersend的api还有很多需要改进的地方,特别是在异步模式下。这些ack对producer对象的用户是隐藏的。如果他们失败了,你最终会看到一个例外。
异步情况下的问题是,您将不知道失败的批处理是如何开始的,因此如果您想稍后重试发送,则需要进行一些猜测。
似乎有计划在未来的版本(>0.8.0)中对此进行改进。