Sobes.tech
Senior

Може ли одмах одбити оглас ако брзи сервис већ вратио одбијање, без чекања на споредни ML-сервис антифрауд?

sobes.tech АИ

Одговор од АИ

Da, moguće je odmah odbiti zahtev ako brza anti-fraud usluga vrati odbijanje, bez čekanja na rezultat spore ML usluge.

Ovo je čest pristup za optimizaciju vremena odgovora i resursa:

  • Brza usluga vrši inicijalnu proveru i u slučaju jasnog odbijanja odmah vraća reject.
  • Spora ML usluga može nastaviti sa obradom asinhrono za logovanje, obuku ili kasniju analizu.

U Go jeziku, ovo se može implementirati pomoću kanala i konteksta, otkazivanjem čekanja na rezultat spore usluge kada brza vrati odbijanje.

Primer:

fastResult := make(chan bool)
slowResult := make(chan bool)

// Pokrećemo brzu uslugu
go func() {
    fastResult <- fastAntiFraudCheck()
}()

// Pokrećemo sporu ML uslugu
go func() {
    slowResult <- slowMLCheck()
}()

select {
case fastOk := <-fastResult:
    if !fastOk {
        // odmah odbiti
        return reject()
    }
    // čekati na slowResult ili nastaviti
case slowOk := <-slowResult:
    if !slowOk {
        return reject()
    }
}

Na ovaj način, može se povećati odziv sistema, ne čekajući duge provere, ako već postoji razlog za odbijanje.