Senior
Lze ihned zamítnout inzerát, pokud rychlá služba již vrátila zamítnutí, aniž byste čekali na pomalou ML-službu anti-frauda?
sobes.tech AI
Odpověď od AI
Ano, je možné okamžitě zamítnout žádost, pokud rychlá služba anti-fraud vrátí zamítnutí, aniž bychom čekali na výsledek pomalé ML služby.
Tento přístup je běžný pro optimalizaci doby odezvy a zdrojů:
- Rychlá služba provádí počáteční kontrolu a při jasném zamítnutí okamžitě vrátí reject.
- Pomalá ML služba může pokračovat v asynchronním zpracování pro logging, trénink nebo následnou analýzu.
V jazyce Go lze toto implementovat pomocí kanálů a kontextů, zrušením čekání na výsledek pomalé služby při obdržení zamítnutí od rychlé.
Příklad:
fastResult := make(chan bool)
slowResult := make(chan bool)
// Spuštění rychlé služby
go func() {
fastResult <- fastAntiFraudCheck()
}()
// Spuštění pomalé ML služby
go func() {
slowResult <- slowMLCheck()
}()
select {
case fastOk := <-fastResult:
if !fastOk {
// okamžité zamítnutí
return reject()
}
// čekat na slowResult nebo pokračovat
case slowOk := <-slowResult:
if !slowOk {
return reject()
}
}
Tímto způsobem lze zvýšit odezvu systému, aniž bychom čekali na dlouhé kontroly, pokud již existuje důvod k zamítnutí.