Sobes.tech
Senior

Агар дар вақти бойитиш якхел хизмат дастрас набошад (масалан, хидмат бо номи пурра/моддаҳои корбар), чӣ мешавад? Ҳамаи Kafka боздошта мешавад?

sobes.tech AI

Ҷавоб аз AI

Маълумотларни бойитиш жараёнида, масалан, тўлиқ исм ёки фойдаланувчи маълумотлари билан хизмат мавжуд бўлмаса, бу бутун Kafka тўхтатилишига олиб келмайди. Kafka хабар алмашиш тизими сифатида, маълумотларни қайта ишлаш ва бойитиш логикасидан ажратилган ва ишлашда давом этади.

Амалда нима бўлади:

  • Kafkaдан хабарларни ўқийдиган ва бойитиш хизматига чақирувчи истеъмолчи, мавжуд бўлмаган хизматга мурожаат қилганда хато ёки тайм-аут олиши мумкин.
  • Қўлланилишига қараб, истеъмолчи:
    • Хатони қайд қилиб, ушбу хабар учун бойитишни ўтказиб юбориши мумкин,
    • Экспоненциал кечиктириш билан қайтадан уриниш қилиши мумкин,
    • Хабарни кейинги таҳлил учун DLQ (Dead Letter Queue) га юбориши мумкин,
    • Агар бу критик бўлса, хабарларни қайта ишлашни тўхтатиши мумкин.

Шундай қилиб, бир хизматнинг муваффақиятсизлиги Kafka’ни тўхтатмайди, аммо муайян истеъмолчида хабарларни қайта ишлашга таъсир қилиши мумкин. Тизимнинг бардошлиги учун, хато ва тайм-аутларни бошқаришни амалга ошириш ва Circuit Breaker каби бардошлик моделларидан фойдаланиш тавсия этилади.