Sobes.tech
Junior

Mis on tootja Apache Kafka's?

sobes.tech AI

Vastus AI-lt

Apache Kafka tootja on kliendirakendus, mis avaldab sõnumeid Kafka brauseritele:

Peamised funktsioonid:

  1. Sõnumite saatmine: Võtab andmed vastu ja saadab need määratud teemale:
  2. Serialiseerimine: Muudab sõnumi andmed baitideks:
  3. Partitioning: Määrab, millisesse jaotisse sõnum saadetakse, tavaliselt kasutatakse sõnumi võtme hash, kui võti puudub, kasutatakse round-robin või sticky partitioning:
  4. Büfeerimine: Sõnumid kogunevad ajutiselt buferisse enne partii saatmist, mis suurendab läbilaskevõimet:
  5. Vigade töötlemine: Teostab korduvaid katseid ajutiste tõrgete või brauseri tõrgete korral:

Vajalik konfiguratsioon:

  • bootstrap.servers: Brauserite hostide ja portide nimekiri algseks ühendamiseks:
  • key.serializer: Võtme serialiseerija klass:
  • value.serializer: Väärtuse serialiseerija klass:
  • acks: Kinnitusaste (0, 1, all):
  • retries: Korduvkatsete arv:
// Näide sõnumi saatmisest Kafka-le Java Producer API kasutades
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092"); // Brauseri aadress
props.put("acks", "all"); // Nõuda kinnitust kõigilt replikaidelt
props.put("retries", 0); // Ilma korduvkatseteta
props.put("linger.ms", 1); // Saata kohe
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer"); // Võtme serialiseerija
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer"); // Väärtuse serialiseerija

Producer<String, String> producer = new KafkaProducer<>(props);
for (int i = 0; i < 100; i++) {
    producer.send(new ProducerRecord<String, String>("my-topic", Integer.toString(i), Integer.toString(i))); // Sõnumi saatmine
}

producer.close(); // Tootja sulgemine