Middle
Képzeljen el egy integrációs megoldást: az A rendszernek kérnie kell a B rendszertől egy jelentés generálását (ami 2 órát vesz igénybe és 200 MB méretű), és meg kell kapnia az eredményt.
sobes.tech MI
Válasz az MI-től
Egy integrációs megoldás esetén, ahol az A rendszer egy nagy jelentést kér a B rendszertől (2 óra feldolgozás, 200 MB), jobb aszinkron megközelítést alkalmazni értesítéssel a készültségről:
- Az A rendszer kérvényt küld a jelentés generálására a B rendszernek, és egyedi feladatazonosítót kap.
- A B rendszer háttérben elindítja a jelentés generálási folyamatot.
- Az A rendszer időszakosan kérdezi a B rendszert a feladatazonosítóval, hogy állapotot tudjon lekérdezni (pl. REST API-n keresztül).
- Amikor a jelentés kész, a B rendszer linket biztosít a letöltéshez (pl. HTTP-n vagy S3 tárolón keresztül).
- Az A rendszer letölti a jelentést a linkről.
Ez a megközelítés lehetővé teszi, hogy ne tartsa nyitva a kapcsolatot 2 órán keresztül, és hatékonyan továbbítsa a nagy fájlokat. A jelentés átadásához jobb fájltárolót vagy objektumtárolót (S3, Azure Blob stb.) használni, mint közvetlenül az API-n keresztül.
API példa:
- POST /reports - feladat létrehozása, visszaadja a taskId-t
- GET /reports/{taskId}/status - feladat státusza
- GET /reports/{taskId}/download - letöltési link
Ez egy klasszikus "feladat-sor-értesítés" minta aszinkron feldolgozással.