Sobes.tech
Senior

Môže sa okamžite zamietnuť inzerát, ak rýchla služba už vrátila zamietnutie, bez čakania na pomalú ML službu anti-frauda?

sobes.tech AI

Odpoveď od AI

Áno, je možné okamžite zamietnuť žiadosť, ak rýchla anti-fraud služba vráti zamietnutie, bez čakania na výsledok pomalej ML služby.

Tento prístup je bežný na optimalizáciu času odozvy a zdrojov:

  • Rýchla služba vykoná počiatočnú kontrolu a pri jasnom zamietnutí ihneď vráti reject.
  • Pomalá ML služba môže pokračovať v spracovaní asynchrónne pre logging, tréning alebo následnú analýzu.

V jazyku Go je možné to implementovať pomocou kanálov a kontextov, zrušením čakania na výsledok pomalej služby pri obdržaní zamietnutia od rýchlej.

Príklad:

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

// Spustenie rýchlej služby
go func() {
    fastResult <- fastAntiFraudCheck()
}()

// Spustenie pomalej ML služby
go func() {
    slowResult <- slowMLCheck()
}()

select {
case fastOk := <-fastResult:
    if !fastOk {
        // okamžité zamietnutie
        return reject()
    }
    // čakať na slowResult alebo pokračovať
case slowOk := <-slowResult:
    if !slowOk {
        return reject()
    }
}

Týmto spôsobom je možné zvýšiť odozvu systému, bez čakania na dlhé kontroly, ak už existuje dôvod na zamietnutie.