2017-02-27 97 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