Sobes.tech
Senior

Ի՞նչ եք անում անվավեր հաղորդագրությունների հետ ձեռքով մշակելուց հետո: Տեխնիկապես դա ինչպես էր տեսնում?

sobes.tech AI

Պատասխան AI-ից

Նախնական ձեռքով մշակելուց հետո սովորաբար կիրառվում էր հետևյալ մոտեցումը:

  1. Գրանցում և վերլուծություն: հաղորդագրությունները պահվում էին առանձին պահեստում (օրինակ՝ տվյալների բազայում կամ ֆայլերում), որպեսզի հասկանալի լինի սխալի պատճառը:
  2. Տեղեկատվության ուղղում: տվյալների սխալները ձեռքով կամ սցենարների միջոցով ուղղվում էին:
  3. Վերամշակման համար ուղարկում: ուղղված հաղորդագրությունները վերադրվում էին հերթ կամ մշակման համակարգ՝ կրկնակի մշակման համար:

Տեխնիկապես դա выглядел այնպես.

  • Հաղորդագրությունների մշակման համակարգում առանձին ալիք կամ հերթ էր՝ ոչ վավեր հաղորդագրությունների համար (dead-letter queue):
  • Հետո ձեռքով ստուգում և ուղղումից հետո հաղորդագրությունները API կամ CLI միջոցով վերադառնում էին հիմնական հերթ:

Օրինակ՝ Go լեզվով (պարզեցված):

func reprocessMessage(msg Message) error {
    if err := validate(msg); err != nil {
        return err
    }
    // Հաղորդագրությունը վերադարձրեք հերթ
    return messageQueue.Publish(msg)
}

Այսպիսով, տվյալների որակի վերահսկողությունը ապահովվում էր և հնարավոր էր կրկնակի մշակումը՝ տեղեկատվության կորուստ չլինելու պայմանով։