KafkaConsumer în Apache Kafka

KafkaConsumer în Apache Kafka: Abonarea la topicuri, bucla de interogare (poll loop) și gestionarea manuală a confirmării procesării (commitSync/commitAsync)....

KafkaConsumer este o componentă esențială în ecosistemul Apache Kafka. Abonarea la topicuri, bucla de interogare (poll loop) și gestionarea manuală a confirmării procesării (commitSync/commitAsync).

Sintaxă și Utilizare Practică

Exemplu practic documentat pas cu pas:

import org.apache.kafka.clients.consumer.*;
import java.time.Duration;
import java.util.Collections;
import java.util.Properties;

Properties props = new Properties();
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
props.put(ConsumerConfig.GROUP_ID_CONFIG, "procesator-facturi");
props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringDeserializer");
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringDeserializer");
// Dezactivare commit automat pentru control exact al livrării cel puțin o dată (at-least-once)
props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, "false");

KafkaConsumer consumer = new KafkaConsumer<>(props);
consumer.subscribe(Collections.singletonList("comenzi-clienti"));

try {
    while (true) {
        ConsumerRecords records = consumer.poll(Duration.ofMillis(100));
        for (ConsumerRecord record : records) {
            System.out.printf("Primit: cheie=%s, valoare=%s, offset=%d%n", 
                record.key(), record.value(), record.offset());
        }
        // Confirmare manuală sincronă după succesul procesării
        consumer.commitSync();
    }
} finally {
    consumer.close();
}

Bune Practici în Producție

  • Performanță și Resurse: Optimizați parametrii de alocare de resurse și respectați cerințele de I/O și memorie.
  • Fiabilitate: Asigurați monitorizarea proactivă a metricilor cheie și configurați mecanisme sigure de persistență.
  • Scalabilitate: Proiectați partiționarea și clusterele luând în calcul creșterea volumului de trafic.
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: KafkaConsumer

Ai o nelămurire despre utilizarea comenzii KafkaConsumer sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.