Aggiornamento Ho aggiornato la mia domanda per riflettere sul fatto che sto lavorando con un database. Devo elaborare le azioni dell'utente:
- Le azioni per ogni utente cambiano il saldo dell'utente che viene poi mantenuto in un database.
- L'azione dell'utente deve essere elaborata in sequenza. Altrimenti, potremmo corrompere il bilancio nel database.
- Alcune azioni sono associate a 2 utenti, nel qual caso non possono essere eseguiti in parallelo con le azioni dell'utente.
- Il volume delle azioni per utente varia considerevolmente durante il giorno.
- Aggiornamento I processi verranno distribuiti su più macchine.
Sto cercando di trovare un modo per distribuire le azioni tra i processi in modo tale che i requisiti precedenti siano soddisfatti.
Esiste un paradigma, un'architettura o un algoritmo noto che risolve un simile problema?
Sto cercando una soluzione che non coinvolga processi che parlano tra loro tranne che attraverso una coda di messaggi o qualche altro mediatore scalabile.