2016-07-21 8 views
0

HINWEIS: Auch an [email protected]Kafka MirrorMaker Replikation zwischen mehreren Regionen

Ich brauche eine Lösung, die ein Thema an einem Remote-Standort spiegelt, die Zyklen und ein Thema pro Region Problem vermeidet.

Diese Lösung würde GENAU zwei Themen erfordern, unabhängig davon, wie viele Regionen (Datencenter) repliziert werden.

Ich möchte, dass der ursprüngliche Erzeuger (P1) nur auf ein lokales (L1) und entferntes Thema (R1) schreibt. Ich möchte, dass MirrorMaker (M1) vom Remote-Thema (R1) liest und in das lokale Thema der anderen Regionen (L2) schreibt. Die andere Region in Art würde mit (P2) zu ihrer lokalen (L2) und entfernten (R2) schreiben und ein separater MirrorMaker (M2) würde seine entfernte (R2) zurück zu den anderen lokalen Regionen (L1) replizieren.

Wenn ich eine dritte Region hinzufüge, müsste ich nur einen anderen MirrorMaker zu bestehenden Regionen hinzufügen und eine weitere, um von der dritten zurück in die bestehende zu replizieren.

------------------------------- 
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) 

Antwort

0

Hier ist eine Lösung.

Jede Region schreibt in ihr eigenes Thema. MirrorMaker repliziert das spezifische Thema jeder Region in jede andere Region. Der Verbraucher in allen Regionen verbraucht von allen drei Themen.

Diese Lösung erfordert einen Schreibvorgang pro Erzeuger anstelle von zwei. N Themen (1 pro Region) und N (N-1) Spiegelhersteller und N Verbraucher konsumieren jeweils N Themen.