Sobes.tech
Middle

Якчо ҳалли интегратсионӣ тасаввур кунед: системаи А бояд аз системаи Б талаб кунад, ки ҳисоботи тайёр кунад (ки 2 соат давом мекунад ва 200 МБ вазн дорад) ва натиҷаро бигирад.

sobes.tech AI

Ҷавоб аз AI

Барои ҳалли ҳамгироӣ, ки дар он системаи А аз системаи Б дархост мекунад, ки як ҳисоботи калон (2 соат тавлид, 200 МБ) эҷод шавад, беҳтар аст, ки ба ҷои ин муносибати асинхронӣ бо огоҳинома дар бораи тайёр шудан истифода шавад:

  1. Системаи А дархост барои эҷоди ҳисоботро ба системаи Б мефиристад ва як идентификатори уникии вазифаро мегирад.
  2. Системаи Б раванди эҷоди ҳисоботро дар пасзамина оғоз мекунад.
  3. Системаи А ба таври давомдор аз системаи Б тавассути идентификатори вазифа пурсиш мекунад, ки статусро бидонад (масалан, тавассути REST API).
  4. Вақте, ки ҳисобот тайёр мешавад, системаи Б пайванд барои зеркашӣ медиҳад (масалан, тавассути HTTP ё захира S3).
  5. Системаи А ҳисоботро тавассути пайванд зеркашӣ мекунад.

Ин муносибат имкон медиҳад, ки пайванд 2 соат кушода нигоҳ дошта нашавад ва файлҳои калонро самаранок интиқол додан мумкин шавад. Барои интиқоли ҳисобот, беҳтар аст, ки истифодаи захираҳои файлӣ ё объектӣ (S3, Azure Blob ва ғайра) ба кор бурда шавад, на тавассути API мустақим.

Масалан API:

  • POST /reports - эҷоди вазифа, баргардонидани taskId
  • GET /reports/{taskId}/status - статуси вазифа
  • GET /reports/{taskId}/download - пайванд барои зеркашӣ

Ин намунаи классикӣ "вазифа-очередь-хабар" бо коркарди асинхронӣ мебошад.