Domanda

Stiamo sviluppando un sistema per il mercato al dettaglio e delle sue funzionalità consentirà ai clienti (in realtà club di consumo) di passare attraverso tutte le transazioni effettuate dai clienti finali.

Uno dei modi per ottenere queste informazioni sarà tramite un'API.

L'idea è che ci saranno richieste di report con una data di inizio e una data di fine e una risposta avrà tutte le transazioni tra tali date.

Temiamo che alcuni rapporti saranno molto grandi e che alcuni clienti richiederanno ripetutamente rapporti, in questo caso il DB e la CPU saranno molto sovraccarichi.

Lo stesso server che sta per servire tali richieste si occuperà anche delle transazioni di vendita al dettaglio (ricevute dai dispositivi proprietari) e dell'applicazione Web.

Non siamo sicuri di come limitare le richieste di report dall'API in modo che non influenzi troppo il sistema.

Quindi, come dovremmo affrontare questo scenario? qualche idea?

MODIFICARE:

Solo per chiarire: quando ho menzionato i dispositivi proprietari, intendevo dispositivi "su posizione" che vengono utilizzati durante le vendite con clienti finali, ciò significa che queste richieste non dovrebbero essere ritardate, e questa è la preoccupazione principale.

Un'altra domanda: alcune persone qui hanno suggerito l'uso di thread prioritari, cioè dando una priorità inferiore ai thread che recuperano i rapporti, è una buona idea?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top