0Pricing
Advanced Spring Boot 4: Event-Driven Architecture (Kafka) · Lektion

Batch-Verarbeitung und Acknowledgment-Modi

Lernen Sie, Kafka-Datensätze stapelweise zu verarbeiten und den passenden Acknowledgment-Modus auszuwählen, um Durchsatz, Latenz und Zustellungsgarantien auszubalancieren.

Batch-Verarbeitung und Acknowledgment-Modi ist eine kostenlose Advanced Spring Boot 4: Event-Driven Architecture (Kafka)-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Advanced Spring Boot 4: Event-Driven Architecture (Kafka)-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Advanced Spring Boot 4: Event-Driven Architecture (Kafka)-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

Why Batch Consumption

By default a @KafkaListener processes one record at a time. For high-throughput pipelines, processing records in batches reduces overhead and lets you bulk-write to databases.

Enabling Batch Mode

Set batch-listener to true on the container factory, or configure it in properties.

spring:
  kafka:
    listener:
      type: batch

A Batch Listener Method

When batch mode is on, your listener accepts a List of payloads instead of a single value.

@KafkaListener(topics = "orders")
public void handle(List<Order> orders) {
    log.info("Received batch of {}", orders.size());
    orderRepository.saveAll(orders);
}

Accessing Batch Metadata

You can also receive the full list of ConsumerRecord objects to read keys, partitions, and offsets per record.

@KafkaListener(topics = "orders")
public void handle(List<ConsumerRecord<String,Order>> records) {
    for (var r : records) {
        process(r.value(), r.partition(), r.offset());
    }
}

Controlling Batch Size

The batch size is bounded by max.poll.records. Tune it to control how many records each poll fetches.

spring:
  kafka:
    consumer:
      max-poll-records: 500

Acknowledgment Modes Overview

Spring Kafka offers several AckMode values:

  • BATCH — commit offsets after the whole batch.
  • RECORD — commit after each record.
  • MANUAL / MANUAL_IMMEDIATE — you call ack explicitly.

Setting AckMode

Configure the ack mode on the listener container factory.

factory.getContainerProperties()
    .setAckMode(ContainerProperties.AckMode.BATCH);

Manual Acknowledgment in Batches

With MANUAL mode, inject an Acknowledgment and call acknowledge() only after successful processing of the batch.

@KafkaListener(topics = "orders")
public void handle(List<Order> orders, Acknowledgment ack) {
    orderRepository.saveAll(orders);
    ack.acknowledge();
}

Delivery Guarantees

Acknowledging after processing gives at-least-once delivery: if the app crashes mid-batch, the batch is redelivered.

Make your batch processing idempotent so reprocessing is safe.

Throughput vs Latency

Larger batches improve throughput but increase per-message latency and memory use. Start with a moderate max.poll.records and measure.

Putting It Together

Batch consumption plus the right ack mode lets you build efficient, reliable consumers. Combine type: batch, a tuned poll size, manual ack, and idempotent writes.

Quick Check

Test your understanding of batch consumption.

Recap

You learned batch consumption and acknowledgment modes.

  • Set type: batch to receive a List of records.
  • Tune max.poll.records for batch size.
  • Choose an AckMode to control offset commits.
  • Acknowledge after processing and keep writes idempotent.

Häufig gestellte Fragen

Ist die Lektion „Batch-Verarbeitung und Acknowledgment-Modi“ kostenlos?

Ja — der vollständige Text von „Batch-Verarbeitung und Acknowledgment-Modi“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Advanced Spring Boot 4: Event-Driven Architecture (Kafka)-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Advanced Spring Boot 4: Event-Driven Architecture (Kafka)-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Batch-Verarbeitung und Acknowledgment-Modi“?

Lernen Sie, Kafka-Datensätze stapelweise zu verarbeiten und den passenden Acknowledgment-Modus auszuwählen, um Durchsatz, Latenz und Zustellungsgarantien auszubalancieren. Du übst Advanced Spring Boot 4: Event-Driven Architecture (Kafka) mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Advanced Spring Boot 4: Event-Driven Architecture (Kafka) zu starten?

Keine Vorkenntnisse erforderlich. Advanced Spring Boot 4: Event-Driven Architecture (Kafka) auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Batch-Verarbeitung und Acknowledgment-Modi“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Advanced Spring Boot 4: Event-Driven Architecture (Kafka)-Lektion Code schreiben und ausführen?

Ja. Jede Advanced Spring Boot 4: Event-Driven Architecture (Kafka)-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Kafka-Listener-Container erstellen
  2. Consumer-Gruppen verwalten
  3. Deserialisierung und Nachrichtenkonvertierung
  4. Batch-Verarbeitung und Acknowledgment-Modi
← Zurück zu Advanced Spring Boot 4: Event-Driven Architecture (Kafka)