Junior — Middle
Kafka'dan xabarlarni ketma-ket chiqarishni ta'minlash mumkinmi, shunda ular Topicga yozilgan tartibda bo'ladi?
sobes.tech AI
AIdan javob
Kafka'da xabarlar tartibi faqat bir xil mavzu (topic) ichidagi bir bo'lak (partition) ichida kafolatlanadi. Agar siz yozilgan vaqtdagi tartibda xabarlarni ketma-ket chiqarishni ta'minlamoqchi bo'lsangiz:
- Barcha xabarlar uchun bitta bo'lakdan foydalaning, shunda tartib saqlanadi.
- Bu bo'lakdan xabarlarni bitta iste'molchi ketma-ket ravishda o'qing.
Agar mavzu bir nechta bo'lakka ega bo'lsa, ular orasidagi xabarlar tartibi kafolatlanmaydi, chunki har bir bo'lak mustaqil ravishda ishlov beriladi.
Yagona bo'lak uchun ishlab chiqaruvchini sozlash misoli:
ProducerRecord<String, String> record = new ProducerRecord<>("topic", 0, key, value);
producer.send(record);
Bu yerda aniq 0-bo'lak ko'rsatilgan, shuning uchun barcha xabarlar bitta bo'lakka yuboriladi va tartib saqlanadi.