Sobes.tech
Middle

Bir entegrasyon çözümü düşünün: Sistem A, Sistem B'den bir rapor oluşturmasını istemeli (bu 2 saat sürer ve 200 MB boyutundadır) ve sonucu almalıdır.

sobes.tech yapay zeka

AI'dan gelen yanıt

Büyük bir raporun (hazırlık süresi 2 saat, 200 MB) oluşturulmasını isteyen bir entegrasyon çözümünde, hazır olunca bildirimle birlikte asenkron yaklaşım kullanmak daha iyidir:

  1. Sistem A, rapor oluşturma isteğini Sistem B'ye gönderir ve benzersiz bir görev kimliği alır.
  2. Sistem B, arka planda rapor oluşturma sürecini başlatır.
  3. Sistem A, görev kimliği ile Sistem B'yi periyodik olarak sorgular ve durumu öğrenir (örneğin, REST API üzerinden).
  4. Rapor hazır olduğunda, Sistem B indirme bağlantısı sağlar (örneğin, HTTP veya S3 depolama aracılığıyla).
  5. Sistem A, bağlantı üzerinden raporu indirir.

Bu yaklaşım, 2 saat boyunca bağlantıyı açık tutmamayı ve büyük dosyaları verimli bir şekilde aktarmayı sağlar. Rapor aktarımı için, API yerine dosya veya nesne depolama (S3, Azure Blob vb.) kullanmak daha iyidir.

API örneği:

  • POST /reports - görev oluşturur, taskId döner
  • GET /reports/{taskId}/status - görev durumu
  • GET /reports/{taskId}/download - indirme bağlantısı

Bu, "görev-kuyruk-bildirim" klasik modelidir ve asenkron işlem içerir.