我遇到的情况(不要问)是我需要从外部服务提交给Kafka的偏移信息(主题,分区,偏移)。
创建KafkaConsumer对象并调用commitSync / commitAsync是唯一的方法吗?还是我错过了一种无需实例化KafkaConsumer即可进行提交的机制?由于我不会从此服务中消费任何东西,因此这似乎有些过分。
答案 0 :(得分:1)
使用Java API时,我不知道没有使用者的情况下任意提交偏移量的方法。
您可以将kafka-consumer-groups
工具与--reset-offsets
选项一起使用,但是在封面下它将创建一个使用者。
几个第三方客户端(例如Sarama或kafka-python)允许发送原始请求。使用这样的客户端(或自定义Java客户端),您将能够直接发送CommitOffsetRequests。
答案 1 :(得分:1)
了解偏移量的责任在于kafka消费者。这是kafka架构固有的。使kafka如此出色的设计决策之一是,知道在哪一点消费数据是kafka消费者的责任。