Il modello attore è adatto per un'applicazione che si occupa del tempo trascorso?

3

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:

  1. Attore figlio spawn
  2. Invia messaggio all'attore figlio per avviare la routine per il controllo dei timestamp
  3. 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?

    
posta Towen 23.09.2018 - 14:34
fonte

1 risposta

1

Non c'è nulla di fondamentalmente problematico nell'usare il modello attore per questo e la supervisione è molto utile nella creazione di sistemi distribuiti stabili. Detto questo, devi ancora progettare il sistema per soddisfare le tue esigenze. Per esempio. è necessario decidere se si desidera al massimo una volta o almeno una volta la consegna. Per implementarlo in Erlang, dovresti consultare il modulo timer .

    
risposta data 27.09.2018 - 19:23
fonte