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) يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. نظرة عامة على بنية Kafka
  2. المواضيع والأقسام والإزاحات
  3. إعداد Kafka محليًا باستخدام Docker
  4. مجموعات المستهلكين وإعادة التوازن
← العودة إلى Advanced Spring Boot 4: Event-Driven Architecture (Kafka)