Devo creare un'applicazione distribuita con timer / controllare periodicamente due timestamp per il tempo trascorso. È possibile ottenere il seguente comportamento con il modello dell'attore:
- Attore figlio spawn
- Invia messaggio all'attore figlio per avviare la routine per il controllo dei timestamp
- Fai qualcosa quando il timer scade senza ricevere messaggi che potrebbero funzionare come trigger
I messaggi in arrivo possono cambiare il timestamp che verrà controllato periodicamente.
In caso di errore, il supervisore deve ripristinare gli attori falliti con gli ultimi due timestamp ricevuti. Un leggero ritardo (riavvio dell'attore e stato di riapplicazione) nell'esecuzione dell'evento innescato dal timer è accettabile.
L'obiettivo della missione è quello di non perdere alcun evento che dovrebbe verificarsi in un determinato intervallo di tempo tra due timestamp ed eliminare a ogni costo un singolo punto di errore.
Il modello dell'attore (implementato con Erlang o AKKA) è adatto per risolvere questo problema? Se no, quali sono altri modelli / sistemi che sono più adatti per questo caso?