Ho un'app scritta con JSF e Spring che usano JPA + Hibernate in esecuzione su un server Glassfish4.
In questo momento ho un pattern Observer che sta ascoltando alcuni eventi Postgresql. Diciamo che su molto inserto in alcune tabelle viene attivato il mio ascoltatore.
Ora tutto è OK perché ho un solo server, ma voglio migrare a un cluster (4 nodi), quindi ci sarà un problema perché quando una riga verrà inserita il mio trigger verrà attivato 4 volte.
Qual è l'approccio comune quando devi affrontare questo genere di cose?
Stavo pensando di mantenere una tabella del database e quando appare un evento per verificare se l'ID dell'evento non è già nella tabella, ma penso che qui avrò alcuni problemi di concorrenza e avrò alcune transazioni rollate.
Qualche idea su come posso affrontare elegantemente questo?