Junior — Middle
Kafkaда билдирүүлөрдү иштетүүнү ырастоо процесси кандай жүргүзүлөт?
sobes.tech AI
AIден жооп
Apache Kafkaда билдирүүнү иштетүүнү ырастоо (acknowledgment) offset commit механизми аркылуу ишке ашырылат.
Процесс:
- Консуматор топиктен билдирүү алат.
- Ийгиликтүү иштетүүдөн кийин, консуматор бул билдирүүнүн offsetин жазып коёт (commit кылат).
- Kafka ар бир консумациялык топ үчүн акыркы тастыкталган offset тууралуу маалыматты сактайт.
Goдо, Kafka кардарын (мисалы, sarama же confluent-kafka-go) колдонуп жатканда, тастыктоо автоматтык же кол менен болушу мүмкүн:
- Автоматтык commit — кардар периоддук түрдө иштетилген акыркы offset тууралуу маалымат жиберет.
- Кол менен commit — иштеп жатканда, иштетүүнү аяктагандан кийин, иштеп чыгуучу тактап, commit методун чакырат, бул көбүрөөк көзөмөл жана ишенимдүүлүк берет.
Мисал sarama менен (кол менен commit):
consumer, _ := sarama.NewConsumerGroup(brokers, groupID, config)
// Хендлерде, иштетүүдөн кийин:
session.MarkMessage(message, "") // билдирүүнү иштетилген деп белгилейт
// Иштөө аяктагандан кийин, Commit() чакырылат