Allarmato sul sistema event-driven

1

Come definire il monitoraggio generale dell'architettura basata sugli eventi?

Ogni componente parla con altri componenti tramite eventi. I consumatori reagiscono agli eventi in pochi minuti o giorni in base al caso d'uso. Ogni componente esegue un lavoro, aggiorna il database e genera eventi. Il consumatore di eventi quindi esegue alcuni lavori e aggiorna il database. Il database qui è dynamoDb. Sto persistendo anche tutti i miei dati nella ricerca elastica. Ho milioni di record nel DB.

Ad esempio: il componente A aggiorna il record X nel database e genera un evento da consumare dal componente B che deve raggiungere l'evento entro 5 minuti e aggiornare lo stesso record X nel database. Come controlla che A stia generando un evento e B lo stia ascoltando, ad es. X viene aggiornato entro 5 minuti. L'allarme dovrebbe attivarsi se X non viene aggiornato entro 5 minuti.

(Ho casi d'uso in cui è necessario aggiornare i record in pochi secondi, minuti, giorni e settimane).

    
posta aDeveloper 15.07.2018 - 07:15
fonte

1 risposta

0

Dato che stai già inviando eventi tra produttori e consumatori, dovrebbe essere relativamente facile aggiungere un altro utente per gli eventi.

A seconda della complessità del tuo sistema e delle regole di allarme, potresti avere un sistema di monitoraggio globale che si iscrive a quasi tutti gli eventi nel sistema, oppure potresti avere un sistema di monitoraggio separato per ogni allarme, che si limita a sottoscrivere il eventi rilevanti per quel singolo allarme.

È possibile che sia necessario aggiungere alcuni eventi specifici del monitoraggio al sistema, ad esempio un evento del componente B che ha reagito e aggiornato il database, in modo che il componente di monitoraggio non debba eseguire il polling del database.

Sia il corretto funzionamento del componente di monitoraggio che la corretta relazione tra gli eventi di invio (monitoraggio) e gli aggiornamenti del database dovrebbero essere stabiliti utilizzando test (unità / componente automatizzati).

    
risposta data 15.07.2018 - 09:48
fonte

Leggi altre domande sui tag