使用enable.auto.commit=true
,容器完全不负责提交偏移量--这完全取决于kafka-clients库中的算法。
从卡夫卡的文件:
如果为真,则使用者的偏移将在后台定期提交。
另请参阅auto.commit.interval.ms
我已经将enable.auto.commit设置为true,并将auto.commit.interval.ms设置为10,000(即10秒)。现在我的问题是--如果使用者在第一次轮询时得到100条记录,而监听器正在处理一条一条的记录,而它在10秒内只处理了80条记录,它是提交并将偏移提前80还是100?
建议仅在< code>enable.auto.commit设置为< code>false时使用< code>commitSync()。但是我们使用了< code>commitSync()而忘记了将< code>enable.auto.commit设置为< code>false。所以我想知道在这种情况下会发生什么?
我有一个Kafka消费者,我从它消费数据从一个特定的主题,我看到下面的例外。我使用的是Kafka版本。 我添加了这两个额外的消费者属性,但仍然没有帮助: 那个错误意味着什么?我该如何解决它?我需要添加一些其他消费者属性吗?
在我的侦听器中,在使用消息后,如果发生任何异常,我将抛出一个异常。如果它成功了,那么我承认。但是,即使抛出异常,偏移量也不会后退。i、 e重试没有按预期进行。错误事件不会再次出现。 此外,我发现我没有消费所有预期的消息。我做错什么了吗? 监听器类 我正在做
我能够使用ErrorDesrializationHandler成功处理反序列化错误,但当我重新启动我的消费者时,它再次开始重新处理由于反序列化而导致的所有失败消息。 由于反序列化异常无法到达Kafka Listener,如何确认并提交偏移量? 谢谢。 我正在使用的自定义错误处理程序: }
问题内容: 使用标准而不是测试特定值是否是标准约定。 如果要确定一个值是否准确(不仅仅是一个真值),是否有使用而不是使用任何理由?这在CPython(2.x和3.x),Jython,PyPy等实现之间是否有所不同? 示例:say用作您要与value或其他真值相区别的单例值: 是否存在使用会产生与的不同结果的情况? 注意:我知道Python布尔值-如果x :,则x如果x == True,则x如果x为