logo

Теми Кафки

У попередньому розділі ми зробили короткий вступ про Apache Kafka, систему обміну повідомленнями, а також процес потокової передачі. Тут ми обговоримо основні поняття та роль Кафки.

Теми

Як правило, тема стосується певного заголовка або назви, наданої певним взаємопов’язаним ідеям. У Кафки слово «тема» відноситься до категорії або загальної назви, яка використовується для зберігання та публікації певного потоку даних. В основному теми в Kafka схожі на таблиці в базі даних, але не містять усіх обмежень. У Kafka ми можемо створити n кількість тем, скільки забажаємо. Його ідентифікують за назвою, яка залежить від вибору користувача. Виробник публікує дані в темах, а споживач читає ці дані з теми, підписавшись на неї.

Перегородки

Тема розділена на кілька частин, які називаються розділами теми. Ці розділи розділені в порядку. Вміст даних зберігається в розділах теми. Тому при створенні теми нам необхідно вказати кількість розділів (кількість довільна і може бути змінена пізніше). Кожне повідомлення зберігається в розділах із додатковим ідентифікатором, відомим як значення зсуву. Порядок в значення зсуву гарантується лише всередині розділу, а не в межах розділу. Зсуви для розділу нескінченні.

Примітка:Дані, записані в розділ, ніколи не можуть бути змінені. Це незмінно. Значення зміщення завжди залишається в інкрементному стані, воно ніколи не повертається до порожнього місця. Крім того, дані зберігаються в розділі лише протягом обмеженого часу.

Давайте розглянемо приклад, щоб зрозуміти тему з її розділами.

Теми Кафки

Припустимо, тема містить три розділи 0, 1 і 2. Кожен розділ має різні номери зміщення. Дані розподіляються між кожним зміщенням у кожному розділі, де дані зміщення 1 Розділу 0 не мають жодного відношення до даних у зміщенні 1 Розділу 1. Але дані у зміщенні 1 розділу 0 взаємопов’язані з даними, що містяться у зміщенні 2 розділу 0.

Брокери

Тут з’являється роль Апача Кафки.

Кластер Kafka складається з одного або кількох серверів, відомих як брокери або брокери Kafka. Посередник — це контейнер, який містить кілька тем із кількома розділами. Брокери в кластері ідентифікуються лише цілочисельним ідентифікатором. Брокери Kafka також відомі як Бутстрап-брокери тому що зв'язок з будь-яким одним брокером означає зв'язок з усім кластером. Хоча брокер не містить повних даних, але кожен брокер у кластері знає про всіх інших брокерів, розділи, а також теми.

Теми Кафки

Ось як брокер виглядає на малюнку, що містить тему з n кількістю розділів.

Приклад: брокери та теми

Припустимо, кластер Kafka складається з трьох брокерів, а саме: Брокер 1, Брокер 2 і Брокер 3.

Теми Кафки

Кожен брокер тримає тему, а саме Topic-x із трьома розділами 0, 1 і 2. Пам’ятайте, що всі розділи не належать лише одному брокеру, вони завжди розподіляються між кожним брокером (залежно від кількості). Посередник 1 і Посередник 2 містять іншу тему-y з двома розділами 0 і 1. Таким чином, Посередник 3 не містить жодних даних з теми-y. Також зроблено висновок, що між номером брокера та номером розділу ніколи не існує зв’язку.