Introduction to the Particular Platform
-
Upload
mauro-servienti -
Category
Software
-
view
30 -
download
1
Transcript of Introduction to the Particular Platform
Agenda
• Se qualcosa va storto?• Monitoraggio asincrono di processi asincroni…• Monitorare se stessi
Learn to build better systemsfrom Udi Dahan
Advanced Distributed Systems Design2 days (out of 5) for FREE
Sign up here: http://go.particular.net/COPItaly
Access code: MPNGNC
Expiration date: 25/5/2015
Gestire errori asincroni non è semplice• Quando un sistema è guidato da messaggi non possiamo perdere
nulla:• Perdere un messaggio significa corruzione dei dati;
• Esistono due principali tipologie di fallimento:• A livello di messaggio;• A livello di endpoint;
• ServicePulse è il tool di amministrazione per Ops / DevOps;
Errori a livello di messaggio
• Ci possiamo trovare di fronte a 3 tipologie:• Bug: non ha senso riprovare finché non è fissato;• Inefficienze temporanee: riprovare può essere molto utile;• Errori di business: in teoria non ha nessun senso riprovare;
• Se un messaggio fallisce:• -> First level retries;• -> Second Level retries;• -> coda di errore;
Errori a livello di endpoint
• Ci possiamo trovare di fronte a 2 tipologie :• L’intero endpoint: il processo che ci ospita crasha o non parte proprio;• Errori in sistemi da cui dipendiamo: il processo teoricamente va ma non è in
grado di lavorare;
Recap
• ServicePulse è lo strumento di monitoraggio per l’intero sistema;• Possiamo introdurre i custom checks per verificare lo stato delle
dipendenze;
Auditing
• In un sistema composto da tanti attori è molto facile perdere il controllo;• NServiceBus ha attivo l’auditing attraverso le code di “Audit”;• Una coda di audit è semplicemente una coda;
• ServiceInsight è lo strumento DevOps per il debug live di un sistema;
Recap
• ServiceInsight è uno strumento pensato per il mondo Dev / DevOps:• Ma anche un omino di business capisce cosa sta succedendo;
• Si può connettere a qualsiasi ambiente presidiato da ServiceControl;
EndpointEndpoint
EndpointEndpointEndpoint
Audit Q
Error Q
Control Q
Architecture Recap
Events audit.log Q error.log Q
Gli eventi di ServiceControl
• Ogni volta che lo stato di qualcosa cambia un evento viene pubblicato;• Chiunque si può sottoscrivere a:• MessageFailed• HeartbeatStopped• HeartbeatRestored• CustomCheckSucceeded• CustomCheckFailed
• Il concetto è “nessuna nuova buona nuova” :-)
Recap
• Il sistema stesso può reagire a cambiamenti e/o errori;• Dato che gli eventi di ServiceControl messaggi standard di
NServiseBus:• Il monitoraggio è affidabile;• Il monitoraggio, come qualsiasi altro endpoint, può essere scalato
orizzontalmente;