Sobes.tech
Junior — Middle

Kafkaда билдирүүлөрдү иштетүүнү ырастоо процесси кандай жүргүзүлөт?

sobes.tech AI

AIден жооп

Apache Kafkaда билдирүүнү иштетүүнү ырастоо (acknowledgment) offset commit механизми аркылуу ишке ашырылат.

Процесс:

  1. Консуматор топиктен билдирүү алат.
  2. Ийгиликтүү иштетүүдөн кийин, консуматор бул билдирүүнүн offsetин жазып коёт (commit кылат).
  3. Kafka ар бир консумациялык топ үчүн акыркы тастыкталган offset тууралуу маалыматты сактайт.

Goдо, Kafka кардарын (мисалы, sarama же confluent-kafka-go) колдонуп жатканда, тастыктоо автоматтык же кол менен болушу мүмкүн:

  • Автоматтык commit — кардар периоддук түрдө иштетилген акыркы offset тууралуу маалымат жиберет.
  • Кол менен commit — иштеп жатканда, иштетүүнү аяктагандан кийин, иштеп чыгуучу тактап, commit методун чакырат, бул көбүрөөк көзөмөл жана ишенимдүүлүк берет.

Мисал sarama менен (кол менен commit):

consumer, _ := sarama.NewConsumerGroup(brokers, groupID, config)
// Хендлерде, иштетүүдөн кийин:
session.MarkMessage(message, "") // билдирүүнү иштетилген деп белгилейт
// Иштөө аяктагандан кийин, Commit() чакырылат