Sobes.tech
Middle

Նկարագրեք ինտեգրացիոն լուծում: համակարգը A պետք է խնդրի համակարգ B-ից հաշվետվության ստեղծում (որը ձևավորվում է 2 ժամում և քաշում է 200 ՄԲ) և ստանա արդյունքը.

sobes.tech AI

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

Ինտեգրացիոն լուծման համար, որտեղ համակարգը A խնդրում է համակարգ B-ից մեծ հաշվետվություն ստեղծել (2 ժամ ձևավորում, 200 ՄԲ), ավելի լավ է օգտագործել ասինխրոն մոտեցում՝ պատրաստության մասին ծանուցմամբ.

  1. Համակարգ A-ն ուղարկում է հաշվետվության ստեղծման հարցում համակարգ B-ին և ստանում է եզակի առաջադրանքի նույնականացուցիչ:
  2. Համակարգ B-ն սկսում է հաշվետվության ստեղծման գործընթացը ֆոնային ռեժիմում:
  3. Համակարգ A-ն ժամանակ առ ժամանակ հարցնում է համակարգ B-ին առաջադրանքի նույնականացուցիչով՝ իմանալու վիճակը (օրինակ՝ REST API-ի միջոցով):
  4. Երբ հաշվետվությունը պատրաստ է, համակարգ B-ն տրամադրում է ներբեռնելու հղում (օրինակ՝ HTTP կամ S3 պահեստի միջոցով):
  5. Համակարգ A-ն ներբեռնում է հաշվետվությունը հղումով:

Այս մոտեցումը թույլ է տալիս չպահել կապը բաց 2 ժամ և արդյունավետ փոխանցել մեծ ֆայլեր: Հաշվետվության փոխանցման համար ավելի լավ է օգտագործել ֆայլային կամ օբյեկտային պահեստ (S3, Azure Blob և այլն), ոչ թե ուղղակի API-ի միջոցով:

API-ի օրինակ՝

  • POST /reports - ստեղծել առաջադրանք, վերադարձնել taskId
  • GET /reports/{taskId}/status - առաջադրանքի վիճակ
  • GET /reports/{taskId}/download - ներբեռնելու հղում:

Սա դասական "առաջադրանք-սպասարկղ-հաղորդում" մոդել է՝ ասինխրոն մշակմամբ: