Architektura Kafky
Introduction to Apache Kafka
Mike Metzger
Data Engineering Consultant
Komponenty Kafky
Kafka server
Cluster jednoho nebo více počítačů
Ukládá data
Spravuje komunikaci
Lze integrovat s dalšími systémy (databáze, logy atd.)
Kafka klienti
Čtení přes Kafka consumer
Zápis přes Kafka producer
Zpracování dat dle potřeby
Kafka server
Úložiště, označované jako Kafka Broker
Data zapsaná producenty jsou ukládána a organizována prostřednictvím témat
Témata jsou rozdělena na oddíly (partitions)
Zprávy/události jsou ukládány do oddílu podle ID události
Zprávy jsou načítány ve stejném pořadí, v jakém byly zapsány
1
Obrázek převzat z https://kafka.apache.org/intro
Oddíly a replikace
Kafka je odolná vůči chybám
Pokud jeden systém selže, ostatní mohou data poskytnout
Max. počet selhání - 1 == faktor replikace
Max. faktor replikace == počet serverů
Replikace je zajišťována kopírováním oddílů
Příklad
Kafka cluster se 3 brokery
3 definovaná témata
Replikace 2x == lze ztratit 1 systém
Broker 1 má kopie Tématu 1 a Tématu 2
Broker 2 má kopie Tématu 2 a Tématu 3
Broker 3 má kopie Tématu 1 a Tématu 3
Každé téma je sdíleno mezi 2 brokery v clusteru
Příklad s 1 selháním
Broker 2 selže
Faktor replikace 2x
2 - 1 == zvládne 1 selhání
Každé téma má v clusteru stále alespoň jednu kopii
Příklad se 2 selháními
2 selhaní brokeři
Faktor replikace 2x
Více selhání, než je podporováno (1 systém)
Téma 2 již není v clusteru dostupné
Témata 1 a 3 jsou stále dostupná – není to úplné selhání
Pojďme si procvičit!
Introduction to Apache Kafka
Preparing Video For Download...