Middle
Якчо ҳалли интегратсионӣ тасаввур кунед: системаи А бояд аз системаи Б талаб кунад, ки ҳисоботи тайёр кунад (ки 2 соат давом мекунад ва 200 МБ вазн дорад) ва натиҷаро бигирад.
sobes.tech AI
Ҷавоб аз AI
Барои ҳалли ҳамгироӣ, ки дар он системаи А аз системаи Б дархост мекунад, ки як ҳисоботи калон (2 соат тавлид, 200 МБ) эҷод шавад, беҳтар аст, ки ба ҷои ин муносибати асинхронӣ бо огоҳинома дар бораи тайёр шудан истифода шавад:
- Системаи А дархост барои эҷоди ҳисоботро ба системаи Б мефиристад ва як идентификатори уникии вазифаро мегирад.
- Системаи Б раванди эҷоди ҳисоботро дар пасзамина оғоз мекунад.
- Системаи А ба таври давомдор аз системаи Б тавассути идентификатори вазифа пурсиш мекунад, ки статусро бидонад (масалан, тавассути REST API).
- Вақте, ки ҳисобот тайёр мешавад, системаи Б пайванд барои зеркашӣ медиҳад (масалан, тавассути HTTP ё захира S3).
- Системаи А ҳисоботро тавассути пайванд зеркашӣ мекунад.
Ин муносибат имкон медиҳад, ки пайванд 2 соат кушода нигоҳ дошта нашавад ва файлҳои калонро самаранок интиқол додан мумкин шавад. Барои интиқоли ҳисобот, беҳтар аст, ки истифодаи захираҳои файлӣ ё объектӣ (S3, Azure Blob ва ғайра) ба кор бурда шавад, на тавассути API мустақим.
Масалан API:
- POST /reports - эҷоди вазифа, баргардонидани taskId
- GET /reports/{taskId}/status - статуси вазифа
- GET /reports/{taskId}/download - пайванд барои зеркашӣ
Ин намунаи классикӣ "вазифа-очередь-хабар" бо коркарди асинхронӣ мебошад.