Senior
¿Se puede rechazar inmediatamente un anuncio si el servicio rápido ya ha devuelto rechazo, sin esperar al servicio ML lento de antifraude?
sobes.tech AI
Respuesta de la IA
Sí, se puede rechazar inmediatamente la solicitud si el servicio rápido de anti-fraude devuelve una negativa, sin esperar el resultado del servicio de ML lento.
Este es un enfoque común para optimizar el tiempo de respuesta y los recursos:
- El servicio rápido realiza una verificación inicial y, en caso de rechazo explícito, devuelve el rechazo de inmediato.
- El servicio de ML lento puede continuar procesando de forma asíncrona para registro, entrenamiento o análisis posterior.
En Go, esto se puede implementar usando canales y contextos, cancelando la espera del resultado del servicio lento al recibir una negativa del rápido.
Ejemplo:
fastResult := make(chan bool)
slowResult := make(chan bool)
// Ejecutar el servicio rápido
go func() {
fastResult <- fastAntiFraudCheck()
}()
// Ejecutar el servicio de ML lento
go func() {
slowResult <- slowMLCheck()
}()
select {
case fastOk := <-fastResult:
if !fastOk {
// rechazar inmediatamente
return reject()
}
// esperar por slowResult o continuar
case slowOk := <-slowResult:
if !slowOk {
return reject()
}
}
De esta manera, se puede mejorar la capacidad de respuesta del sistema, sin esperar verificaciones largas, si ya hay una razón para rechazar.