如果偏移在Kafka中被破坏,会发生什么



我们如何处理偏移损坏?

我想把偏移日志保存在其他地方,或者拍偏移的快照。我该怎么做?

Kafka将偏移量存储在名为_consumer_offset的主题中。使用者将偏移量提交到该主题中,auto.offset.reset的值(最早/最新/noe(决定了开始从分区读取消息的策略。偏移日志保留时间由broker属性指定。

CCD_ 1=>将从上次提交的偏移量开始读取消息,如果找不到,则将等待新消息到达并从那里开始。无异常抛出

CCD_ 2=>同样,它不会抛出任何异常,并且如果存在偏移,它将从头开始读取消息。

CCD_ 3=>当找不到偏移量时,它将抛出一个异常。

您可以使用assign and seek来获取特定的数据

//assign - set topic and partition you you want to read from using TopicPartion
TopicPartition topicPartitionToReadFrom = new 
TopicPartition(topic, 0);
long offsetToReadFrom = 15L;
consumer.assign(Arrays.asList(topicPartitionToReadFrom));

//seek - set position of the consumer manually by calling
//KafkaConsumer.seek(TopicPartition partition, long offset)
consumer.seek(topicPartitionToReadFrom, offsetToReadFrom);

存储偏移日志=&gt_consumeroffset是主题,因此您可以为该主题编写一个consumer,并将消息存储到您选择的存储器中。

相关内容

  • 没有找到相关文章

最新更新