W poprzedniej sekcji dokonaliśmy krótkiego wprowadzenia na temat Apache Kafka, systemu przesyłania wiadomości, a także procesu przesyłania strumieniowego. Tutaj omówimy podstawowe pojęcia i rolę Kafki.
Tematy
Ogólnie rzecz biorąc, temat odnosi się do konkretnego nagłówka lub nazwy nadawanej konkretnym, wzajemnie powiązanym pomysłom. W Kafce słowo temat odnosi się do kategorii lub nazwy zwyczajowej używanej do przechowywania i publikowania określonego strumienia danych. Zasadniczo tematy w Kafce są podobne do tabel w bazie danych, ale nie zawierają wszystkich ograniczeń. W Kafce możemy stworzyć n dowolnej liczby tematów. Jest on identyfikowany po nazwie, która zależy od wyboru użytkownika. Producent publikuje dane do tematów, a konsument odczytuje te dane z tematu, subskrybując go.
Partycje
Temat jest podzielony na kilka części, które nazywane są podziałami tematu. Przegrody te są rozdzielone w kolejności. Zawartość danych jest przechowywana w partycjach tematu. Dlatego zakładając temat musimy określić ilość przegródek (liczba jest dowolna i można ją później zmienić). Każda wiadomość jest przechowywana w partycjach z przyrostowym identyfikatorem znanym jako wartość przesunięcia. Kolejność wartość przesunięcia jest gwarantowana tylko w obrębie partycji, a nie w poprzek partycji. Przesunięcia partycji są nieskończone.
Notatka:Dane zapisane na partycji nigdy nie mogą zostać zmienione. Jest niezmienne. Wartość przesunięcia zawsze pozostaje w stanie przyrostowym i nigdy nie wraca do pustej przestrzeni. Ponadto dane są przechowywane na partycji tylko przez ograniczony czas.
Zobaczmy przykład, aby zrozumieć temat z jego partycjami.
Załóżmy, że temat zawiera trzy partycje 0,1 i 2. Każda partycja ma inny numer przesunięcia. Dane są rozdzielane pomiędzy każde przesunięcie w każdej partycji, gdzie dane w przesunięciu 1 partycji 0 nie mają żadnego związku z danymi w przesunięciu 1 partycji 1. Jednak dane w przesunięciu 1 partycji 0 są powiązane z danymi zawartymi w przesunięciu 2 partycji 0.
Brokerzy
Tutaj pojawia się rola Apache’a Kafki.
Klaster Kafka składa się z jednego lub większej liczby serwerów zwanych brokerami lub brokerami Kafki. Broker to kontener przechowujący kilka tematów z wieloma partycjami. Brokerzy w klastrze są identyfikowani wyłącznie na podstawie identyfikatora całkowitego. Brokerzy Kafka są również znani jako Brokerzy Bootstrapa ponieważ połączenie z dowolnym brokerem oznacza połączenie z całym klastrem. Co prawda broker nie zawiera całych danych, ale każdy broker w klastrze wie o wszystkich pozostałych brokerach, partycjach i tematach.
Tak wygląda broker na rysunku zawierającym temat z n liczbą partycji.
Przykład: Brokerzy i tematy
Załóżmy, że klaster Kafki składa się z trzech brokerów, a mianowicie Brokera 1, Brokera 2 i Brokera 3.
Każdy broker posiada temat, czyli Temat-x z trzema partycjami 0,1 i 2. Pamiętaj, że wszystkie partycje nie należą tylko do jednego brokera, zawsze są one rozdzielane pomiędzy każdego brokera (w zależności od ilości). Broker 1 i Broker 2 zawierają inny temat-y mający dwie partycje 0 i 1. Zatem Broker 3 nie przechowuje żadnych danych z Tematu-y. Stwierdzono również, że pomiędzy numerem brokera a numerem partycji nigdy nie istnieje żaden związek.