Перейти до основного вмісту

Публікації

Показано дописи з міткою "Kafka"

Стратегії ребалансування в Kafka

Стратегії ребалансування в Kafka Ребалансування (Rebalancing) — це процес перерозподілу партицій між споживачами (сonsumer) у групі (Consumer Group). Kafka має кілька стратегій ребалансування: RangeAssignor. Ця стратегія розподіляє партиції на основі діапазонів, які створюються відповідно до сортування топіків і партицій. Наприклад, якщо є два консюмери і 6 партицій (P0–P5), перший консюмер отримає P0–P2, а другий — P3–P5. Особливості: Простий алгоритм. Може призводити до нерівномірного розподілу, якщо кількість партицій не ділиться порівну між консюмерами. RoundRobinAssignor. Ця стратегія рівномірно розподіляє партиції між консюмерами за круговим принципом. Наприклад, якщо є два консюмери і 6 партицій, перший отримає P0, P2, P4, а другий — P1, P3, P5. Особливості: Гарантує більш рівномірний розподіл партицій. Використовується в багатотопікових сценаріях. StickyAssignor. Ця стратегія намагається мінімізувати кількість змін у розподілі партицій між консюмерами при ре...

Основні поняття Apache Kafka

Producer - клієнт, який генерує (публікує) повідомлення в Kafka-топік. Може відправляти повідомлення в конкретну партицію (використовуючи ключ) або дозволяти Kafka автоматично вибирати партицію. Підтримує acknowledgments для підтвердження успішного запису. Consumer - клієнт, який читає повідомлення з Kafka-топіка. Консюмери об'єднуються в групи споживачів (consumer groups), щоб розподіляти навантаження. Кожна партиція обробляється лише одним консюмером у межах групи. Message - основна одиниця даних у Kafka. Складається з ключа (optional), значення (дані) та метаданих. Зберігається у партиції топіка. Topic - логічна категорія або ім'я каналу, через який Kafka передає дані. Дані в Kafka організовані в топіки. Кожен топік може мати одну або більше партицій. Споживачі (consumers) читають дані із заданих топіків. Partition - фізичний підрозділ топіка, який зберігає впорядковану послідовність повідомлень. Повідомлення у партиції мають унікальний offset (зміщення). Партиції р...