Группы потребителей и перебалансировка
Поймите, как группы потребителей Kafka масштабируют потребление, как назначаются разделы и что происходит во время перебалансировки, с учётом Spring Kafka.
«Группы потребителей и перебалансировка» — бесплатный урок Advanced Spring Boot 4: Event-Driven Architecture (Kafka) на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Advanced Spring Boot 4: Event-Driven Architecture (Kafka), и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Advanced Spring Boot 4: Event-Driven Architecture (Kafka) содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Why Consumer Groups?
A consumer group lets multiple consumer instances share the work of reading a topic. Kafka assigns each partition to exactly one consumer in the group.
Group ID
Consumers join a group by sharing a group.id. Kafka tracks the offset position per group, so each group reads the topic independently.
spring.kafka.consumer.group-id=order-servicePartitions Drive Parallelism
The number of partitions sets the maximum parallelism. With four partitions, at most four consumers in a group can work at once.
topic orders: 4 partitions
group with 4 consumers -> 1 partition eachExtra Consumers Idle
If a group has more consumers than partitions, the extras sit idle. Scale partitions to scale consumption beyond the current limit.
6 consumers, 4 partitions -> 2 idleWhat Triggers a Rebalance
A rebalance reassigns partitions when group membership changes.
- A consumer joins or leaves
- A consumer is considered dead
- Partitions are added
Rebalance Cost
During a rebalance, consumers stop processing briefly while partitions are reassigned. Frequent rebalances hurt throughput.
Heartbeats and Liveness
Consumers send heartbeats. Missing them past session.timeout.ms marks a consumer dead and triggers a rebalance.
session.timeout.ms = 10000
heartbeat.interval.ms = 3000Poll Loop Health
If processing between polls exceeds max.poll.interval.ms, the consumer is evicted. Keep per-message work bounded or increase the limit.
max.poll.interval.ms = 300000Committing Offsets
Offsets record progress per partition per group. Spring Kafka can auto-commit or commit manually after successful processing for at-least-once delivery.
spring.kafka.consumer.enable-auto-commit=falseCooperative Rebalancing
The cooperative rebalance protocol reassigns only the partitions that must move, avoiding a full stop-the-world reassignment.
partition.assignment.strategy=CooperativeStickyAssignorSpring Kafka Listeners
A @KafkaListener joins the configured group automatically; running multiple app instances scales the group with no code change.
@KafkaListener(topics = "orders", groupId = "order-service")
void onOrder(Order o) { ... }Quick Check
Reason about parallelism.
Recap
You learned that a consumer group shares a topic by assigning each partition to one consumer, so partition count caps parallelism. Rebalances reassign partitions when membership changes and briefly pause processing; heartbeats and poll intervals govern liveness. Cooperative rebalancing and manual offset commits keep Spring Kafka consumers efficient and reliable.
Изучай Advanced Spring Boot 4: Event-Driven Architecture (Kafka) с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 12
- Уроки
- 48
Часто задаваемые вопросы
Урок «Группы потребителей и перебалансировка» бесплатный?
Да — полный текст урока «Группы потребителей и перебалансировка» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Advanced Spring Boot 4: Event-Driven Architecture (Kafka), подпишись на CoddyKit PRO. Курс Advanced Spring Boot 4: Event-Driven Architecture (Kafka) содержит 4 уроков всего.
Чему я научусь в уроке «Группы потребителей и перебалансировка»?
Поймите, как группы потребителей Kafka масштабируют потребление, как назначаются разделы и что происходит во время перебалансировки, с учётом Spring Kafka. Ты практикуешь Advanced Spring Boot 4: Event-Driven Architecture (Kafka) с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Advanced Spring Boot 4: Event-Driven Architecture (Kafka)?
Предыдущий опыт не требуется. Advanced Spring Boot 4: Event-Driven Architecture (Kafka) на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Группы потребителей и перебалансировка»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Advanced Spring Boot 4: Event-Driven Architecture (Kafka)?
Да. Каждый урок Advanced Spring Boot 4: Event-Driven Architecture (Kafka) включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Обзор архитектуры Kafka
- Темы, разделы и смещения
- Настройка локальной Kafka с Docker
- Группы потребителей и перебалансировка