Nel mondo dei servizi Web distribuiti e dei Big Data, gli errori e i guasti non possono essere trattati come eventi frequenti. Piuttosto, sono comuni e devono essere compresi e gestiti. Gli errori possono assumere la forma di dati errati o mancanti, mentre i guasti possono derivare dalla congestione o dai malfunzionamenti dei servizi Web. Il ruolo di una iPaaS (Integration Platform as a Service) è quello di aiutare gli utenti a svolgere le attività di integrazione in presenza di errori e guasti.
Innanzitutto, chiariamo la differenza tra errori e difetti:
- Un errore di integrazione di solito si riferisce a una forma di incoerenza dei dati dovuta a corruzione dei dati, dati mancanti o formati di dati imprevisti. I canali di comunicazione e l'esecuzione della pipeline di integrazione funzionano come previsto, ma i dati stessi presentano un problema.
- D'altra parte, un guasto è il risultato di un'interruzione della connessione o del servizio. In alcuni casi, i server iPaaS possono subire guasti che danno origine a guasti, che devono essere gestiti.
L'architettura di SnapLogic Integration Cloud fornisce sia la gestione degli errori dei dati che la tolleranza agli errori per garantire l'esecuzione affidabile dei flussi di dati di integrazione, chiamati pipeline. Le pipeline possono essere progettate per gestire i dati non corretti utilizzando le viste di errore e i segmenti della pipeline possono essere inscatolati in modo da fornire una consegna garantita in presenza di guasti alla rete o al punto finale del servizio. Nel piano dati, i nostri cluster Snaplex sono progettati per rilevare i guasti dei nodi e garantire che ci sia sempre un insieme stabile di nodi Snaplex disponibili per eseguire le pipeline. Infine, forniamo ridondanza e affidabilità anche nel piano di controllo. In questo blog condivideremo i dettagli sulla gestione degli errori. Si prega di tenere d'occhio un altro post del blog che spiega come SnapLogic gestisce la tolleranza agli errori e la resilienza nell'architettura.
Viste di errore
Le pipeline di SnapLogic Integration Cloud sono costituite da snap collegati tra loro mediante viste. Gli snap possono avere zero o più viste di ingresso e zero o più viste di uscita. Ad esempio, un lettore di database avrà zero viste di ingresso e una vista di uscita. Uno snap router avrà una vista di ingresso e più viste di uscita. Oltre alle viste di output, la maggior parte degli snap può essere configurata per avere una vista di errore. Gli errori dello snap di solito causano il fallimento anticipato dello snap e della pipeline. Tuttavia, in alcuni casi, lo sviluppatore di una pipeline potrebbe voler gestire esplicitamente le condizioni di errore. Un errore comune è rappresentato dai dati mancanti o dai dati errati. Se non esiste una vista degli errori, i dati mancanti o errati causeranno il fallimento della pipeline. Tuttavia, con una vista di errore, la condizione di errore viene trattata come un dato e può essere passata a un segmento della pipeline. In questo modo, un segmento della pipeline può essere usato per registrare l'errore e correggere i dati errati. Questa potente funzione consente agli sviluppatori di gestire senza problemi sia i dati buoni che quelli cattivi utilizzando gli snap e i segmenti della pipeline. In alcuni casi, alcuni tipi di errori possono essere comunicati come errori per consentire allo sviluppatore della pipeline di costruire un'esecuzione affidabile della pipeline, come nel caso di un errore di connessione al database che può essere realizzato come un documento inviato a una vista di errore.
Ad esempio, alcuni record di un file CSV possono mancare di uno o più campi. Il nostro lettore CSV Snap è in grado di rilevare questi record di errore e di inviarli alla visualizzazione degli errori. I record di errore possono essere inviati a un segmento della pipeline che può tentare di ripulire i dati o registrarli per un controllo successivo. Come altro esempio, lo snap Mittente e-mail ha una vista errori disponibile. Se la vista Errori del mittente e-mail è abilitata, verrà fornito un documento per ogni indirizzo errato o messaggio non inviato. In questo modo, lo sviluppatore della pipeline può creare un report per gli indirizzi errati o utilizzare gli indirizzi errati per aggiornare un database di contatti in modo che non vengano effettuati tentativi futuri di invio all'indirizzo.
Consegna garantita
SnapLogic Integration Cloud consente l'integrazione di diversi servizi cloud . La maggior parte dei servizi cloud moderni sono esposti tramite interfacce REST o SOAP su HTTP. Tuttavia, la rete pubblica può essere soggetta a guasti che possono far cadere le richieste di servizio. Per aiutare a gestire i guasti delle connessioni ai servizi, SnapLogic Integration Cloud supporta consegna garantita dei documenti. Per abilitare la consegna garantita, lo sviluppatore della pipeline contrassegna un segmento della pipeline di streaming. Questo segmento può essere configurato con un criterio di riprova. I documenti che devono essere inviati al segmento boxed sono temporaneamente conservati nello storage persistente. Una volta che un documento ha attraversato l'intero segmento, viene inviata una conferma al gestore della pipeline che consente di rimuovere il documento dall'archivio persistente. Se il segmento o l'endpoint del segmento fallisce, viene invocata la politica di retry per recuperare il documento dall'archivio persistente e inviarlo nuovamente attraverso il segmento. Per gestire la maggior parte degli scenari di guasto intermittente degli endpoint si possono utilizzare politiche di retry come tempi di attesa lineari o backoff esponenziali.
Per maggiori dettagli sull'architettura di SnapLogic Integration Cloud, consultate la nostra serie di video che illustrano il nostro prodotto e la nostra piattaforma.