Senior
Ի՞նչ եք անում անվավեր հաղորդագրությունների հետ ձեռքով մշակելուց հետո: Տեխնիկապես դա ինչպես էր տեսնում?
sobes.tech AI
Պատասխան AI-ից
Նախնական ձեռքով մշակելուց հետո սովորաբար կիրառվում էր հետևյալ մոտեցումը:
- Գրանցում և վերլուծություն: հաղորդագրությունները պահվում էին առանձին պահեստում (օրինակ՝ տվյալների բազայում կամ ֆայլերում), որպեսզի հասկանալի լինի սխալի պատճառը:
- Տեղեկատվության ուղղում: տվյալների սխալները ձեռքով կամ սցենարների միջոցով ուղղվում էին:
- Վերամշակման համար ուղարկում: ուղղված հաղորդագրությունները վերադրվում էին հերթ կամ մշակման համակարգ՝ կրկնակի մշակման համար:
Տեխնիկապես դա выглядел այնպես.
- Հաղորդագրությունների մշակման համակարգում առանձին ալիք կամ հերթ էր՝ ոչ վավեր հաղորդագրությունների համար (dead-letter queue):
- Հետո ձեռքով ստուգում և ուղղումից հետո հաղորդագրությունները API կամ CLI միջոցով վերադառնում էին հիմնական հերթ:
Օրինակ՝ Go լեզվով (պարզեցված):
func reprocessMessage(msg Message) error {
if err := validate(msg); err != nil {
return err
}
// Հաղորդագրությունը վերադարձրեք հերթ
return messageQueue.Publish(msg)
}
Այսպիսով, տվյալների որակի վերահսկողությունը ապահովվում էր և հնարավոր էր կրկնակի մշակումը՝ տեղեկատվության կորուստ չլինելու պայմանով։