Kafka MirrorMaker在多个区域之间进行复制

时间:2016-07-21 18:06:35

标签: apache-kafka

注意:也发布到users@kafka.apache.org。

我需要一个将主题镜像到远程位置的解决方案,以避免每个区域的周期和主题问题。

这个解决方案只需要两个主题,无论它复制多少个区域(数据中​​心)。

我希望初始生成器(P1)只写入本地(L1)和远程主题(R1)。我希望MirrorMaker(M1)从远程主题(R1)读取并写入其他区域本地主题(L2)。实物的另一个区域将使用(P2)写入其本地(L2)和远程(R2),并且单独的MirrorMaker(M2)将其远程(R2)复制回本地(L1)的其他区域。

如果我添加第三个区域,我只需要将另一个MIrrorMaker添加到现有区域,而将另一个MIrrorMaker从第三个区域复制回现有区域。

------------------------------- 
REGION TOTAL: 2
------------------------------- 
P1 -> L1, R1 
P2 -> L2, R2

M1 (R1 -> L2) 
M2 (R2 -> L1)

------------------------------- 
REGION TOTAL: 3
------------------------------- 
P1 -> L1, R1 
P2 -> L2, R2 
P3 -> L3, R3

M1.1 (R1 -> L2) 
M1.2 (R1 -> L3)

M2.1 (R2 -> L1) 
M2.2 (R2 -> L3)

M3.1 (R3 -> L1) 
M3.2 (R3-> L2)

1 个答案:

答案 0 :(得分:0)

这是一个解决方案。

每个地区都会写入自己的主题。 MirrorMaker将每个区域的特定主题复制到其他所有区域。所有地区的消费者都消费这三个主题。

此解决方案需要每个生产者一次写入而不是两次。 N个主题(每个地区1个)和N个(N-1个)镜像制造商和N个消费者各自消费N个主题。