KafkaProducer este o componentă esențială în ecosistemul Apache Kafka. Instanțierea și trimiterea de evenimente asincrone cu garantarea integrității (idempotence, retries și acks=all) în aplicații client.
Sintaxă și Utilizare Practică
Exemplu practic documentat pas cu pas:
import org.apache.kafka.clients.producer.*;
import java.util.Properties;
Properties props = new Properties();
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer");
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer");
// Garanție enterprise: acks=all + idempotence pentru exact-once delivery
props.put(ProducerConfig.ACKS_CONFIG, "all");
props.put(ProducerConfig.ENABLE_IDEMPOTENCE_CONFIG, "true");
props.put(ProducerConfig.COMPRESSION_TYPE_CONFIG, "zstd");
Producer producer = new KafkaProducer<>(props);
ProducerRecord record = new ProducerRecord<>("comenzi-clienti", "usr_42", "{\"valoare\": 199.9}");
producer.send(record, (metadata, exception) -> {
if (exception == null) {
System.out.printf("Mesaj livrat la partitia %d, offset %d%n", metadata.partition(), metadata.offset());
} else {
exception.printStackTrace();
}
});
producer.flush();
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.
Întrebări & Exemple de Cod:
KafkaProducerAi o nelămurire despre utilizarea comenzii
KafkaProducersau 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.