L'introduzione della Pipeline Execute Snap ha portato molti vantaggi alle integrazioni dei miei clienti (sono un consulente tecnico), riducendo il numero di pipeline complessive necessarie per servire le loro integrazioni dipartimentali, migliorando l'overhead dei test di regressione e migliorando il time-to-value.
Di seguito cerchiamo di spiegare alcune delle opzioni di Pipeline Execute Snap utilizzate dai miei clienti per influenzare le prestazioni.
La Pipeline Execute Snap consente di creare un'integrazione figlia che può essere riutilizzata in diversi luoghi. La creazione di integrazioni modulari che possono essere utilizzate da diversi reparti ha permesso di standardizzare le integrazioni aziendali e di ridurre le rielaborazioni non necessarie. E, soprattutto, ha ridotto il lavoro dei responsabili delle integrazioni.
La finestra di dialogo delle impostazioni di Esecuzione pipeline è la seguente:
Descriverò brevemente le opzioni che possono fare la differenza in termini di prestazioni. Per una panoramica completa, consultate la documentazione della guida qui.
Snaplex:
Selezionare uno Snaplex significa scegliere di eseguire la pipeline figlio su un particolare Snaplex. Se si seleziona questa opzione, si è soggetti a una riduzione iniziale delle prestazioni quando si sposta l'integrazione per bilanciarla su tutti i nodi di quel particolare Snaplex. Lasciare questa opzione vuota significa scegliere di eseguire le istanze della pipeline figlio sullo stesso nodo JCC dell'integrazione padre.
Esecuzioni di riutilizzo:
Quando è abilitato, lo snap avvia un'esecuzione figlia e passa più documenti di input all'esecuzione. Le esecuzioni riutilizzabili continueranno a vivere finché tutti i documenti di input a questo Snap non saranno stati completamente elaborati.
Quindi, in sostanza, utilizzare questa opzione ogni volta che è possibile. Non è possibile utilizzare questa opzione se si hanno parametri di pipeline diversi per ogni esecuzione, ma ho scoperto che passare questi parametri come dati nel figlio può consentire il riutilizzo.
Se l'opzione di riutilizzo della pipeline non è abilitata, viene creata una nuova esecuzione della pipeline per ogni documento in ingresso, con evidenti ripercussioni sulle prestazioni.
Dimensioni della piscina:
È possibile elaborare più documenti di input contemporaneamente specificando una dimensione del pool di esecuzione. Quando la dimensione del pool è maggiore di uno, Snap avvierà le esecuzioni secondo le necessità fino alla dimensione del pool indicata.
Quando è abilitato anche il riutilizzo, Snap avvierà una nuova esecuzione solo se tutte le esecuzioni sono impegnate a lavorare sui documenti e il numero totale di esecuzioni è inferiore alla dimensione del pool.
In sintesi
Per massimizzare le prestazioni:
- Adattare i documenti JSON di input per incapsulare i parametri della pipeline, in modo da non doverne passare alcuno come parametro della pipeline.
- Utilizzare sempre l'opzione di riutilizzo
- Aumentare le dimensioni della piscina (13 è sempre stato un numero ottimo per me).
E soprattutto, fornite un feedback sui risultati al team di SnapLogic, in modo che possa consigliare opzioni migliori in futuro (hanno bisogno di un feedback dal campo). Inoltre, fornite un feedback sul sito della comunità SnapLogic, poiché io e altri utenti di SnapLogic vorremmo conoscere le opzioni che possono migliorare i nostri tempi.
Buon riuso!
Elesh Mistry è un consulente tecnico con esperienza nei settori della difesa, delle telecomunicazioni e della finanza. In precedenza ha lavorato presso SnapLogic come consulente di soluzioni nella regione EMEA. È possibile seguirlo su LinkedIn e iscriversi al suo canale YouTube, dove ha pubblicato una serie di video sull'integrazione. I punti di vista, le opinioni e le posizioni espresse in questi post dei collaboratori sono esclusivamente dell'autore e non rappresentano necessariamente quelli di SnapLogic.