Apache Kafka - architektura klastra

Spójrz na poniższą ilustrację. Przedstawia diagram skupień Kafki.

Poniższa tabela opisuje każdy z elementów pokazanych na powyższym schemacie.

S.Nr Komponenty i opis
1

Broker

Klaster Kafka zazwyczaj składa się z wielu brokerów w celu utrzymania równowagi obciążenia. Brokerzy Kafka są bezpaństwowi, więc używają ZooKeepera do utrzymywania stanu klastra. Jedna instancja brokera Kafka może obsłużyć setki tysięcy odczytów i zapisów na sekundę, a każdy bro-ker może obsłużyć TB wiadomości bez wpływu na wydajność. Wybór lidera brokera Kafka może zostać przeprowadzony przez ZooKeeper.

2

ZooKeeper

ZooKeeper służy do zarządzania i koordynowania brokera Kafka. Usługa ZooKeeper służy głównie do powiadamiania producenta i konsumenta o obecności nowego brokera w systemie Kafka lub awarii brokera w systemie Kafka. Zgodnie z powiadomieniem otrzymanym przez Zookeepera o obecności lub awarii brokera, producent i konsument podejmują decyzję i zaczynają koordynować swoje zadania z innym brokerem.

3

Producers

Producenci przesyłają dane do brokerów. Po uruchomieniu nowego brokera wszyscy producenci przeszukują go i automatycznie wysyłają wiadomość do tego nowego brokera. Producent Kafki nie czeka na potwierdzenia od brokera i wysyła wiadomości tak szybko, jak tylko broker może je obsłużyć.

4

Consumers

Ponieważ brokerzy Kafka są bezstanowe, co oznacza, że ​​konsument musi utrzymywać liczbę wykorzystanych wiadomości, używając przesunięcia partycji. Jeśli konsument potwierdza określone przesunięcie komunikatu, oznacza to, że konsument wykorzystał wszystkie poprzednie komunikaty. Konsument wysyła asynchroniczne żądanie ściągnięcia do brokera, aby mieć bufor bajtów gotowy do użycia. Konsumenci mogą przewijać lub przeskakiwać do dowolnego punktu w partycji, po prostu podając wartość przesunięcia. Wartość offsetu konsumenta jest zgłaszana przez ZooKeeper.