Junior — Middle
Kako Kafka producent bira particiju za slanje poruke?
sobes.tech АИ
Одговор од АИ
Proizvođač Kafka bira particiju za slanje poruke na osnovu ključa poruke i podešavanja za particionisanje. Ako poruka ima ključ, Kafka koristi funkciju heširanja tog ključa da odredi specifičnu particiju, osiguravajući da sve poruke sa istim ključem idu u istu particiju. Ako nema ključa, proizvođač obično ravnomerno raspoređuje poruke (round-robin) radi balansiranja opterećenja.
Primer u Go koristeći biblioteku sarama:
producer, _ := sarama.NewSyncProducer(brokers, config)
msg := &sarama.ProducerMessage{
Topic: "my_topic",
Key: sarama.StringEncoder("userID123"), // ključ za particionisanje
Value: sarama.StringEncoder("podatak poruke"),
}
partition, offset, err := producer.SendMessage(msg)
Ovde će ključ "userID123" biti korišćen za izbor particije, tako da sve poruke sa tim ključem idu u istu particiju.