Advanced Spring Boot 4: Event-Driven Architecture (Kafka) · Урок

Группы потребителей и перебалансировка

Поймите, как группы потребителей Kafka масштабируют потребление, как назначаются разделы и что происходит во время перебалансировки, с учётом Spring Kafka.

Урок 4 из 413 шагов

«Группы потребителей и перебалансировка» — бесплатный урок 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-service

Partitions 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 each

Extra 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 idle

What 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 = 3000

Poll 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 = 300000

Committing 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=false

Cooperative Rebalancing

The cooperative rebalance protocol reassigns only the partitions that must move, avoiding a full stop-the-world reassignment.

partition.assignment.strategy=CooperativeStickyAssignor

Spring 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 — локальная установка не требуется.

Все уроки этого курса

  1. Обзор архитектуры Kafka
  2. Темы, разделы и смещения
  3. Настройка локальной Kafka с Docker
  4. Группы потребителей и перебалансировка
← Назад к Advanced Spring Boot 4: Event-Driven Architecture (Kafka)