假设我有两个 Kafka 集群,我正在使用镜像制作器将主题从一个集群镜像到另一个集群。我知道消费者有一个嵌入式生产者来提交偏移量到__consumer-offset
Kafka 集群中的主题。我需要知道如果主 Kafka 集群出现故障会发生什么?我们是否也同步__consumer-offset
主题?因为辅助集群可能有不同数量的代理和其他设置,我认为。
请告诉 Kafka 镜像集群如何处理消费者偏移量?
auto.offset.reset
设置在这里起作用吗?
假设我有两个 Kafka 集群,我正在使用镜像制作器将主题从一个集群镜像到另一个集群。我知道消费者有一个嵌入式生产者来提交偏移量到__consumer-offset
Kafka 集群中的主题。我需要知道如果主 Kafka 集群出现故障会发生什么?我们是否也同步__consumer-offset
主题?因为辅助集群可能有不同数量的代理和其他设置,我认为。
请告诉 Kafka 镜像集群如何处理消费者偏移量?
auto.offset.reset
设置在这里起作用吗?
更新
从 Apache Kafka 2.7.0 开始,MirrorMaker 能够复制已提交的偏移量。参见https://cwiki.apache.org/confluence/display/KAFKA/KIP-545%3A+support+automated+consumer+offset+sync+across+clusters+in+MM+2.0
原始答案
Mirror maker 不会复制偏移量。
此外,auto.offset.reset
与此完全无关,因为它是一个消费者设置,它定义了消费者应该从哪里开始阅读案例,在启动时没有找到有效的提交偏移量。
不镜像偏移量的原因基本上是,它们在镜像集群上可能毫无意义,因为不能保证消息在两个集群中具有相同的偏移量。
因此,在故障转移的情况下,您需要自己找出“聪明”的东西。一种方法是记住您上次处理的记录的元数据时间戳。这允许您根据镜像集群上的时间戳“寻找”以找到那里的近似偏移量。(为此,您需要 Kafka 0.10。)