Il problema è naturalmente l'accesso al database sulla richiesta "aggiungi al carrello".
I clienti aggiungeranno cose al loro cestino tutto il tempo, non compreranno sempre quell'articolo. Inoltre, in periodi di carico elevato, ad esempio in una vendita, anche i siti di e-commerce di grandi dimensioni semplicemente non hanno la potenza di elaborazione per avere richieste "aggiungi al carrello" elaborate sul lato server.
Se si desidera un sito di e-commerce scalabile, è necessario trasferire tutta l'elaborazione possibile al client. 'Aggiungi al carrello' dovrebbe essere un'operazione puramente client-side e non aggiornare il livello dello stock.
Se lo desideri, puoi controllare i livelli delle scorte durante il processo di acquisto, il che richiederà in ogni caso l'elaborazione lato server. Tuttavia, ritengo che l'attuale best practice nell'e-commerce non sia il controllo dei livelli di stock finché non si tenta effettivamente di evadere l'ordine nel magazzino.
Se l'ordine non può procedere a questo punto, puoi inviare un'email al cliente e comunicare che il loro ordine viene ritardato mentre vengono consegnati o annullati nuovi stock.
Ciò massimizza le tue entrate, dato che i clienti sono solitamente felici di aspettare un po 'di più invece di annullare l'ordine, ma se vedono "esaurito" sul sito web, non effettueranno l'ordine.
Inoltre, puoi valutare la domanda per l'articolo in questione e ordinare di più dal tuo fornitore, se necessario.