logo

Tematyka Kafki

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.

Tematyka Kafki

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.

Tematyka Kafki

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.

Tematyka Kafki

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.