0

MirrorMaker-V1

MirrorMaker-V1是什么

Kafka提供了一个工具(kafka-mirror-maker.sh)能将数据从一个kafka集群同步到另一个集群,这个工具本称为MirrorMaker-V1(因为之后kafka又提供了一个升级版的工具MirrorMaker-V2)

MirrorMaker-V1可以用来做什么

首先为了区分单集群的replication,集群间的数据同步使用的是mirror(镜像)这个单词。换句话说就是将当前的Kafka集群做一个镜像备份,MirrorMaker-V1就是用来创造这个镜像的工具。常见用例是在拥有两个数据中心时,通过MirrorMaker-V1将其中一个数据中心建立成镜像数据中心。

MirrorMaker-V1的工作原理

MirrorMaker-V1的工作原理很简单,它将数据从source-cluster(源集群)读取出来,然后写入destination-cluster(目标集群)。实际MirrorMaker-V1就是将Kafka的consumer和producer关联在了一起。

MirrorMaker-V1的特点

  1. MirrorMaker-V1用来同步的source-cluster(源集群)和 destination-cluster(目标集群)是两个完全独立的集群。
  2. source-cluster(源集群)和 destination-cluster(目标集群)中同步的topic名称完全相同,但partitions 和 offsets 不一定相同。
  3. MirrorMaker-V1会沿用message key作为分区键,并保留顺序。

注意: 因为第二个特点无法同步offsets,所以不能用MirrorMaker-V1来做容灾。当切换到备份集群后没法拿到offsets会造成重复消费。

参考资料:

  1. https://kafka.apache.org/24/documentation.html#basic_ops_mirror_maker

作者:cosmozhu --90后的老父亲,专注于保护地球的程序员
个人网站:https://www.cosmozhu.fun
欢迎转载,转载时请注明出处。
我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=231fr1cr1b34c