如何在Kafka的镜像集群中维护客户补偿?

Yog*_*pta 4 apache-kafka kafka-consumer-api apache-kafka-mirrormaker

可以说我有两个Kafka集群,我正在使用镜像制作器将主题从一个集群镜像到另一个集群。我了解消费者有一个嵌入式生产者来向__consumer-offsetKafka集群中的主题提交偏移量。我需要知道如果主要的Kafka群集出现故障会怎样?我们是否也同步__consumer-offset主题?我认为,由于辅助群集可能具有不同数量的代理和其他设置。

请告诉我们Kafka镜像集群如何处理消费者补偿?

是否auto.offset.reset设置在这里发挥作用?

Mat*_*Sax 5

镜像制作者不复制偏移量。

此外,auto.offset.reset这与之完全无关,因为它是使用者设置,它定义了使用者应从何处开始读取案例,在启动时找不到有效的提交偏移。

不对偏移量进行镜像的原因基本上是,由于不能保证在群集上消息将在两个群集中具有相同的偏移量,因此它们在镜像群集上可能毫无意义。

因此,在故障转移的情况下,您需要自己弄清楚“聪明”的东西。一种方法是记住上次处理记录的元数据时间戳。这使您可以基于镜像群集上的时间戳“搜索”以在此处找到一个近似的偏移量。(为此,您将需要Kafka 0.10。)