【问题标题】:Does groupId lose offset position if subscribe method is called twice?如果 subscribe 方法被调用两次,groupId 是否会丢失偏移位置?
【发布时间】:2018-12-05 03:52:09
【问题描述】:

我有一个 KafkaConsumer,它为特定主题(例如 topic1)调用 subscribe 方法。订阅来自这个 topic1 的消息后,我会为不同的主题(例如 topic2)调用 subscribe 方法。

最后,我调用了 commitSync - topic1 和 topic2 的偏移量都会被提交吗?

非常感谢 Stackoverflow-ers :)

【问题讨论】:

    标签: java apache-kafka kafka-consumer-api


    【解决方案1】:

    当使用commitSync()commitAsync() 方法提交偏移量(不传递偏移量)时,只会提交当前分配给消费者的分区的偏移量。

    如果您之前订阅了另一个主题,则此信息不会保留在消费者中,属于以前主题的偏移量会丢失。

    您要么需要在更改订阅之前提交,要么您可以在更改订阅之前使用position() 检索偏移量,并在最后使用一种提交方法(例如commitSync(offsets))手动提交所有偏移量偏移量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-04
      • 1970-01-01
      • 1970-01-01
      • 2013-12-31
      • 1970-01-01
      相关资源
      最近更新 更多