ray*_*man 6 java apache-kafka kafka-consumer-api
我们想要手动提交kafka偏移量来控制数据丢失事件。但是我们可能会延迟手动提交,因为我们只想在持久化到数据源之后才执行此操作
我想了解减慢提交偏移量如何影响卡夫卡的主题/并行/分区(如果有的话)
当你从一个主题进行消费时,如果该消费者属于一个消费组,Kafka将确保一个分区由一个消费者消费。因此,如果您手动提交,它不会影响其他消费者,因为他们从另一个分区消费。
\n但是,如果将相同分区消费者与enable.auto.commit=false和进行比较enable.auto.commit=true,则自动提交使消费者吞吐量相对较高。如果您不需要确认提交,则使用 commitAsync,它将比 commitSync 提高吞吐量。
\n\n通常,您在处理完批处理中的所有消息后调用 API,并且不\xe2\x80\x99t 轮询新消息,直到提交批处理中的最后一个偏移量。此方法可能会影响吞吐量和延迟,以及轮询时返回的消息数,因此您可以将应用程序设置为降低提交频率。
\n
但是,如果您进行手动提交,当消费者重新启动或重新平衡时,可能会出现重复的消费消息。当您使用消息并写入数据库时,您将把消息提交到 Kafka。如果消费者当时重新平衡或重新启动,该消息将不会被提交,并将被同一组中的另一个消费者重新消费。
\n更多信息请参考
\n\n| 归档时间: |
|
| 查看次数: |
9343 次 |
| 最近记录: |