Recentemente il mio team ha ereditato un code-base con un problema interessante.
Il sistema mantiene i record storici avendo più ascoltatori sullo stesso evento. Questi ascoltatori eseguono in serie, quindi se abbiamo l'ascoltatore A, B e C, B aspetterebbe che A termini prima prima di C e così via.
Ogni listener aggiorna una tabella separata.
Tuttavia, se il sistema si arresta mentre stiamo tentando di scrivere B, allora le tabelle in A, B e C verranno fuori sincrono.
C'è una buona soluzione per ottenere una scrittura transazionale per questi ascoltatori senza accoppiare gli ascoltatori insieme?