Kafka 0.8制作人,使用“request.required.acks”属性

时间:2013-08-27 20:44:12

标签: message-queue apache-kafka

来自生产者配置下的0.8 Documentation 属性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 个答案:

答案 0 :(得分:0)

生产者发送的API有很多不足之处,特别是在异步模式下。那些ack对生产者对象的用户是隐藏的。如果他们失败了,你最终会看到一个例外。

异步情况下的问题是您不知道失败的批处理是否开始,因此如果您想稍后重试这些发送,则会涉及一些猜测。

似乎有计划在将来的版本中改进这一点(> 0.8.0)。