Sobes.tech
Middle

Φανταστείτε μια λύση ολοκλήρωσης: το σύστημα Α πρέπει να ζητήσει από το σύστημα Β τη δημιουργία μιας αναφοράς (που διαρκεί 2 ώρες και ζυγίζει 200 MB) και να λάβει το αποτέλεσμα.

sobes.tech AI

Απάντηση από AI

Για μια ολοκληρωμένη λύση όπου το σύστημα Α ζητά από το σύστημα Β τη δημιουργία μιας μεγάλης αναφοράς (2 ώρες δημιουργίας, 200 MB), είναι καλύτερο να χρησιμοποιηθεί μια ασύγχρονη προσέγγιση με ειδοποίηση όταν είναι έτοιμο:

  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 - σύνδεσμος λήψης

Αυτό είναι ένα κλασικό μοτίβο "εργασία-ουρά-ειδοποίηση" με ασύγχρονη επεξεργασία.