Košík je prázdný

Apache Kafka je distribuovaný streamovací platforma, která umožňuje publikování, ukládání, zpracování a předávání proudů dat v reálném čase. Pro podniky, které provozují více Kafka clusterů ve více datových centrech nebo cloudových prostředích, je důležité zajistit, aby data byla dostupná napříč všemi clustery pro zajištění vysoké dostupnosti a odolnosti proti selhání. Zde vstupuje do hry MirrorMaker, nástroj zahrnutý v Apache Kafka, určený pro replikaci dat mezi Kafka clustery.

Konfigurace MirrorMaker

1. Konfigurace zdrojového clusteru (Source Cluster) Prvním krokem je konfigurace zdrojového clusteru. Toto zahrnuje nastavení producer a consumer propojení k zdrojovému clusteru. Konfigurace consumerů je klíčová pro čtení dat ze zdrojového clusteru, zatímco konfigurace producerů řídí, jak budou data zapisována do cílového clusteru.

  • Consumer konfigurace:

    • bootstrap.servers: Seznam brokerů ve zdrojovém clusteru.
    • group.id: Identifikátor skupiny consumerů, která bude číst data.
    • client.id: Volitelný identifikátor pro tracking v logu.
    • auto.offset.reset: Určuje, jaký offset použít, pokud žádný není nalezen (nejčastěji earliest nebo latest).
  • Producer konfigurace:

    • bootstrap.servers: Seznam brokerů v cílovém clusteru.
    • acks: Určuje, kolik potvrzení je potřeba od brokerů před úspěšným zápisem (např. all pro nejvyšší spolehlivost).
    • batch.size: Velikost dávky pro zápis, optimalizuje latenci a propustnost.

2. Spuštění MirrorMaker MirrorMaker se spouští jako samostatný proces. Pro spuštění MirrorMaker použijte následující příkaz, kde consumer.config a producer.config jsou soubory obsahující výše uvedené konfigurace:

bin/kafka-mirror-maker.sh --consumer.config consumer.properties --producer.config producer.properties --whitelist=".*"
  • --whitelist: Regex filtr pro specifikaci topiců, které mají být replikovány. ".*" znamená replikaci všech topiců.

Pokročilé nastavení

3. Filtrace a transformace MirrorMaker umožňuje filtrace a transformace zpráv před jejich replikací. To je užitečné pro odstranění citlivých dat nebo pro aplikaci specifických transformací na zprávy.

4. Replikace cross-cluster Pro efektivní cross-cluster replikaci je doporučeno používat MirrorMaker 2 (MM2), který přináší vylepšení v oblasti automatizace, snadnější konfigurace a lepší integrace s Kafka ekosystémem.

5. Zabezpečení Zabezpečení komunikace mezi clustery je nezbytné. Konfigurujte TLS/SSL pro šifrování přenosu a SASL pro autentizaci, aby byla data chráněna během přenosu.

 

Replikace dat mezi Kafka clustery pomocí MirrorMaker je zásadní pro zajištění vysoké dostupnosti a odolnosti proti selhání. Správná konfigurace a používání MirrorMaker může výrazně zlepšit spolehlivost a efektivitu streamování dat ve vaší organizaci. Pamatujte, že pro složitější replikační scénáře a vyšší úroveň automatizace je doporučené používat MirrorMaker 2.