Architektura Kafka

Wprowadzenie do Apache Kafka

Mike Metzger

Data Engineering Consultant

Komponenty Kafka

  • Serwer Kafka
    • Klaster jednego lub wielu komputerów
    • Przechowuje dane
    • Zarządza komunikacją
    • Może integrować się z innymi systemami (bazy danych, logi itp.)
  • Klienci Kafka
    • Odczyt przez Kafka consumer
    • Zapis przez Kafka producer
    • Przetwarzanie danych według potrzeb
Wprowadzenie do Apache Kafka

Serwer Kafka

  • Warstwa przechowywania, znana jako Kafka Broker
    • Dane zapisane przez producentów są przechowywane i organizowane w tematach
    • Tematy są partycjonowane, czyli dzielone na osobne fragmenty
    • Wiadomości/zdarzenia są przypisywane do partycji na podstawie identyfikatora zdarzenia
    • Wiadomości są pobierane w tej samej kolejności, w jakiej zostały zapisane

Przechowywanie i partycje Kafka

1 Obraz pochodzi z https://kafka.apache.org/intro
Wprowadzenie do Apache Kafka

Partycje i replikacja

  • Kafka jest odporna na awarie
  • Gdy jeden system jest niedostępny, inne mogą dostarczyć żądane dane
  • Maks. liczba awarii - 1 == współczynnik replikacji
  • Maks. współczynnik replikacji == liczba serwerów
  • Replikacja jest realizowana przez kopiowanie partycji

Klaster Kafka, brokery i tematy.png

Wprowadzenie do Apache Kafka

Przykład

Klaster Kafka, brokery i tematy.png

  • Klaster Kafka z 3 brokerami
  • 3 zdefiniowane tematy
  • Replikacja 2x == utrata 1 systemu jest dopuszczalna
  • Broker 1 ma kopie Tematu 1 i Tematu 2
  • Broker 2 ma kopie Tematu 2 i Tematu 3
  • Broker 3 ma kopie Tematu 1 i Tematu 3
  • Każdy temat jest rozłożony na 2 brokery w klastrze
Wprowadzenie do Apache Kafka

Przykład z 1 awarią

Klaster Kafka, brokery i tematy – 1 awaria brokera.png

  • Broker 2 ulega awarii
  • Współczynnik replikacji 2x
    • 2 - 1 == obsługiwana 1 awaria systemu
  • Każdy temat ma co najmniej jedną kopię w klastrze
Wprowadzenie do Apache Kafka

Przykład z 2 awariamiami

Klaster Kafka, brokery i tematy – 2 awarie brokerów.png

  • 2 awarie brokerów
  • Współczynnik replikacji 2x
  • Więcej awarii niż obsługiwany limit (1 system)
  • Temat 2 nie jest już dostępny w klastrze
    • Tematy 1 i 3 są nadal dostępne – to nie jest całkowita awaria
Wprowadzenie do Apache Kafka

Czas na ćwiczenia!

Wprowadzenie do Apache Kafka

Preparing Video For Download...