Middle
İnteqrasiya həllini düşünün: A sistemi B sistemindən hesabatın yaradılmasını tələb etməlidir (bu 2 saat çəkir və 200 MB ölçüdədir) və nəticəni almalıdır.
sobes.tech Süni İntellekt
AI-dan cavab
İnteqrasiya həllində, sistem A-nın sistem B-dən böyük bir hesabatın (2 saat formalaşma, 200 MB) yaradılmasını istəməsi zamanı, daha yaxşı asinxron yanaşma istifadə etmək və hazır olarkən bildiriş almaqdır:
- Sistem A, hesabat yaradılması üçün sorğu göndərir və unikal tapşırıq identifikatoru alır.
- Sistem B, hesabatın yaradılma prosesini fon rejimində başlatır.
- Sistem A, tapşırıq identifikatoru ilə sistem B-ni müntəzəm sorğulayır və statusu öyrənir (məsələn, REST API vasitəsilə).
- Hesabat hazır olduqda, sistem B yükləmə üçün link təqdim edir (məsələn, HTTP və ya S3 yaddaş vasitəsilə).
- Sistem A, link vasitəsilə hesabatı yükləyir.
Bu yanaşma, 2 saat ərzində əlaqəni açıq saxlamağa ehtiyac olmadan böyük faylları səmərəli şəkildə ötürməyə imkan verir. Hesabatın ötürülməsi üçün, API ilə birbaşa yerinə fayl və ya obyekt yaddaşını (S3, Azure Blob və s.) istifadə etmək daha yaxşıdır.
API nümunəsi:
- POST /reports - tapşırıq yaradın, taskId qaytarır
- GET /reports/{taskId}/status - tapşırığın vəziyyəti
- GET /reports/{taskId}/download - yükləmə linki
Bu, "tapşırıq-queue-bildiriş" klassik nümunəsidir və asinxron emal ilə həyata keçirilir.