Sto creando un'API Spring-Boot che servirà un sistema che richiede un comportamento sincrono nonostante l'API esegua operazioni asincrone. Non ho molta familiarità con i thread e penso che questo potrebbe essere il posto giusto per usarli. Sono desideroso di sentire qualche input.
Ecco le restrizioni:
1. L'API scriverà in coda quando arriva la richiesta.
2. Il consumatore della coda scriverà su un database dopo aver completato con successo la richiesta.
3. L'API continuerà a raggruppare DB per vedere quando la richiesta è stata soddisfatta.
4. L'API risponde al cliente.
L'aspettativa è che l'API inserirà alcune centinaia di richieste al minuto, ma dovrebbe essere scalabile per gestire forse 10.000 / minuto un giorno.
Questo vivrà in Elastic Beanstalk, quindi otteniamo una certa flessibilità con il ridimensionamento.
Una domanda specifica è: esiste un modo per sfruttare le funzionalità Java / Spring per significativamente ridurre il carico sul sistema, oppure Spring è in grado di gestire le risorse di calcolo stesso?