Senior
Μπορείτε να απορρίψετε άμεσα μια διαφήμιση αν η γρήγορη υπηρεσία έχει ήδη επιστρέψει απόρριψη, χωρίς να περιμένετε την αργή υπηρεσία ML anti-fraud;
sobes.tech AI
Απάντηση από AI
Ναι, είναι δυνατόν να απορριφθεί άμεσα το αίτημα εάν η γρήγορη υπηρεσία anti-fraud επιστρέψει άρνηση, χωρίς να περιμένουμε το αποτέλεσμα της αργής υπηρεσίας ML.
Αυτή είναι μια κοινή προσέγγιση για τη βελτιστοποίηση του χρόνου απόκρισης και των πόρων:
- Η γρήγορη υπηρεσία πραγματοποιεί έναν αρχικό έλεγχο και, σε περίπτωση ρητής άρνησης, επιστρέφει άμεσα reject.
- Η αργή υπηρεσία ML μπορεί να συνεχίσει την επεξεργασία ασύγχρονα για καταγραφή, εκπαίδευση ή περαιτέρω ανάλυση.
Στη γλώσσα Go, αυτό μπορεί να υλοποιηθεί χρησιμοποιώντας κανάλια και πλαίσια, ακυρώνοντας την αναμονή για το αποτέλεσμα της αργής υπηρεσίας μόλις λάβει άρνηση από την γρήγορη.
Παράδειγμα:
fastResult := make(chan bool)
slowResult := make(chan bool)
// Εκκίνηση της γρήγορης υπηρεσίας
go func() {
fastResult <- fastAntiFraudCheck()
}()
// Εκκίνηση της αργής υπηρεσίας ML
go func() {
slowResult <- slowMLCheck()
}()
select {
case fastOk := <-fastResult:
if !fastOk {
// άμεση απόρριψη
return reject()
}
// περιμένουμε το slowResult ή συνεχίζουμε
case slowOk := <-slowResult:
if !slowOk {
return reject()
}
}
Με αυτόν τον τρόπο, μπορεί να βελτιωθεί η ανταπόκριση του συστήματος, χωρίς να περιμένει μακρές ελέγχους, εάν ήδη υπάρχει λόγος απόρριψης.