Parametrul acks (0, 1, all) în Producătorul Kafka în Apache Kafka

Controlează garanția de persistență cerută de producător înainte de a considera o scriere finalizată cu succes.

Sintaxă
props.put(ProducerConfig.ACKS_CONFIG, "all"); // 0, 1 sau all (-1)

Ce este parametrul acks

Parametrul acks este cel mai important reglaj pentru echilibrul dintre viteză (debit) și siguranța datelor (durabilitate) în Apache Kafka.

Exemplu Concret: Configurare pentru durabilitate maximă
Properties props = new Properties();
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
props.put(ProducerConfig.ACKS_CONFIG, "all"); // echivalent cu -1
props.put(ProducerConfig.ENABLE_IDEMPOTENCE_CONFIG, "true");

Cele trei valori posibile pentru acks

  • acks=0: Producătorul trimite mesajul prin socket și nu așteaptă nicio confirmare din partea brokerului. Risc masiv de pierdere dacă brokerul cade înainte de scriere. Oferă cel mai mare debit.
  • acks=1: Producătorul așteaptă confirmarea doar de la brokerul Lider. Dacă liderul cade imediat după confirmare înainte ca replicile să copieze mesajul, datele se pot pierde.
  • acks=all (sau -1): Producătorul așteaptă ca liderul și toate replicile sincronizate active din ISR (respectând min.insync.replicas) să confirme scrierea pe disc. Garanție absolută împotriva pierderii de date.
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Parametrul acks (0, 1, all) în Producătorul Kafka

Ai o nelămurire despre utilizarea comenzii Parametrul acks (0, 1, all) în Producătorul Kafka 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.