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.