2017-02-27 68 views
1

我们使用的是卡夫卡0.10 ...在enable.auto.commit为TRUE时,我在网上(以及在文档中)看到有关如何在卡夫卡管理胶印的冲突信息。检索消息的poll()方法是否也按照配置的间隔处理提交?卡夫卡胶印管理

如果我从一个单线程应用程序中的轮询检索消息,在SAME线程中处理消息以完成(包括处理错误),这意味着poll()将不会再次被调用,直到我的处理完成后,然后我推测失去信息没有恐惧,对吗?这只有在poll()在后续调用中尝试提交时(如果auto.commit.interval.ms已经通过,那当然)。如果提交的在(我的应用程序处理消息之前)接收消息立即完成,这不会对我们工作....

这一点很重要,因为我想肯定我们不会丢失消息如果我们使用自动提交策略。重复的邮件对我们来说是可以容忍的,我们对丢失的数据没有宽容。

感谢您的澄清!

回答

3

检索消息的同一个poll()方法是否也按照配置的间隔处理提交?

是的。

如果我在单线程应用程序检索轮询消息,处理信息到完成(包括错误处理)在同一个线程,意味着民意调查()将不会被再次调用,直到后,我的处理完成,则我认为不会失去信息的恐惧,对吗?

是的。

如果民意调查()尝试提交在随后的调用(如果auto.commit.interval.ms已经过去了,当然)

这是它究竟是如何做到这仅适用。

查看更多详情:http://docs.confluent.io/current/clients/consumer.html