Gli abbonati agli eventi vengono configurati tramite approcci programmatici e impostazioni di configurazione che definiscono il modo in cui possono ascoltare e rispondere agli eventi. La configurazione varia a seconda dello specifico stack tecnologico, del sistema o della piattaforma di messaggistica in uso: gli eventi configurati in Drupal, Symfony o Microsoft Dynamics 365 Business Central utilizzano diversi tipi di oggetti e parametri per richiedere eventi e convalidare i dati degli eventi.
Diagramma che illustra le notifiche per gli abbonati agli eventi.
In un'architettura basata su eventi (EDA), un abbonato agli eventi è un'applicazione, un servizio, un dispositivo o una persona che sceglie di ricevere informazioni su un evento o una classe di eventi specifici. Noti anche come "consumatori di eventi", gli abbonati agli eventi ricevono messaggi relativi agli eventi desiderati "ascoltando" e interrogando continuamente per informarsi su eventuali modifiche correlate a determinati argomenti, aree o messaggi sugli eventi. Quando un abbonato riceve informazioni su un evento, può elaborare e rispondere alle informazioni ricevute in vari modi, tra cui aggiornare un database, inviare un'e-mail, aggiungere un oggetto a un bucket di archiviazione o richiedere un workflow.
Che cos'è l'architettura basata sugli eventi?
L'architettura basata sugli eventi (EDA) è un modello di progettazione software che consente ai sistemi di rilevare, elaborare, coordinare e reagire agli eventi in tempo reale non appena si verificano. Un evento è un cambiamento dello stato di un particolare sistema o processo aziendale. Nell'architettura basata sugli eventi, gli abbonati possono apprendere informazioni su un evento nel momento in cui si verifica, consentendo ad app, sistemi, persone e organizzazioni di reagire in tempo reale. Questa architettura utilizza spesso spazi dei nomi per organizzare le classi di eventi e i metodi di abbonamento agli eventi, garantendo un codebase pulito e compatibile.
Che cos'è un evento?
Un evento è qualcosa che è accaduto, che ha causato un cambio di stato. Gli eventi includono acquisti effettuati un cliente, richieste di informazioni, aggiornamenti di inventario, letture dei sensori che potrebbero indicare una violazione della sicurezza, un articolo rimosso da un carrello, la creazione di un nuovo account utente o una notifica del raggiungimento di una determinata soglia nei prezzi delle scorte.
Come funziona un'architettura basata sugli eventi per gli abbonati agli eventi?
L'architettura basata sugli eventi comprende diversi componenti hardware e software, che sono collegati e disposti in modo da consentire la comunicazione in tempo reale degli eventi.
Gli editori di eventi, noti anche come produttori di eventi, sono sistemi che rilevano o generano un evento e pubblicano le informazioni su un bus o un canale di eventi. Gli editori di eventi sono progettati per riconoscere quando uno stato cambia e includono sistemi come database che pubblicano eventi in caso di modifiche dei dati, microservizi che indicano il completamento delle azioni, dispositivi IoT (Internet of Things) che segnalano quando si sono verificate azioni o quando le condizioni sono cambiate e sistemi CRM che inviano notifiche quando gli ordini sono stati evasi o si sono registrati nuovi utenti.
I bus di eventi, noti anche come canali o broker di eventi, sono i luoghi in cui vengono caricate e scaricate le informazioni sugli eventi. I bus di eventi possono acquisire i dati in tempo reale provenienti dagli editori di eventi e rendere disponibili tali informazioni per gli abbonati che ascoltano eventi specifici. I bus di eventi sono noti anche come flussi di eventi o code di messaggi e includono piattaforme come Apache Kafka, Amazon Kinesis e Google Pub/Sub.
Gli abbonati agli eventi, noti anche come ascoltatori o consumatori di eventi, sono applicazioni, servizi, dispositivi o persone che ricevono messaggi su eventi specifici. Le diverse classi di abbonati sono progettate per ricevere informazioni su eventi o classi di eventi specifici. Gli abbonati agli eventi sono, in genere, configurati in modo da ricevere i dati degli eventi non appena disponibili.
In che modo gli abbonati agli eventi offrono vantaggi alle organizzazioni?
Gli eventi hanno un impatto su ogni aspetto di un'organizzazione, nonché sui suoi processi e sulle sue operazioni. Se le aziende e i loro dipendenti, applicazioni e sistemi possono reagire agli eventi con maggiore velocità, riescono ad incrementare la produttività, ottimizzare l'efficienza e migliorare la competitività. Configurando gli abbonati agli eventi in modo da ricevere informazioni su un'ampia gamma di eventi business-critical, le organizzazioni possono operare in modo più efficiente ed efficace.
In che modo gli abbonati agli eventi possono partecipare ed elaborare gli eventi?
Gli abbonati agli eventi ricevono, elaborano e rispondono agli eventi in diversi modi.
- Notifica diretta: in alcuni casi, gli editori di eventi inviano o trasmettono gli eventi direttamente agli abbonati senza l'utilizzo di un bus o un broker di eventi.
- Modello pull: gli abbonati agli eventi possono anche scegliere di controllare o acquisire periodicamente nuovi eventi da una coda di loro interesse, il che consente un'elaborazione in batch e il bilanciamento del carico. Tuttavia, questo modello potrebbe causare ritardi nell'elaborazione degli eventi.
- Pubblicazione/abbonamento: in un'infrastruttura di pubblicazione/abbonamento, i messaggi vengono inviati ai consumatori di eventi che hanno sottoscritto un abbonamento a specifici canali di eventi tramite un broker di messaggi. I broker ricevono i messaggi degli eventi, li traducono se necessario, mantengono organizzati i messaggi, inviano i messaggi agli abbonati per consentirne l'utilizzo, quindi eliminano i messaggi. In questo modello, gli eventi non possono essere riprodotti, pertanto gli abbonati agli eventi non possono accedere agli eventi in modo retroattivo.
- Streaming di eventi: con un approccio basato sullo streaming di eventi, gli eventi vengono scritti in un registro e tutti gli abbonati agli eventi possono accedervi da qualsiasi parte del flusso, anche dagli eventi passati. Lo streaming di eventi viene, solitamente, gestito da una piattaforma di streaming in grado di gestire la registrazione e la trasmissione di grandi volumi di eventi a un throughput molto elevato, spesso fino a migliaia di miliardi di eventi al giorno. Le piattaforme di streaming consentono la persistenza degli eventi, ossia i record vengono conservati per un determinato periodo di tempo. Le piattaforme di streaming gestiscono anche l'elaborazione di eventi complessi, pertanto gli abbonati utilizzano ed elaborano una serie di eventi per identificare tendenze o condizioni specifiche.
A quali tipi di eventi si iscrivono gli abbonati agli eventi?
Gli abbonati agli eventi possono iscriversi ad un'ampia varietà di eventi, da molto semplici a molto complessi, tra cui:
- Operazioni commerciali: questi eventi sono correlati ai processi aziendali, come, ad esempio, la registrazione online di un cliente, l'effettuazione di un ordine, il completamento di un pagamento o la modifica dello stato di un ordine.
- Azioni degli utenti: generate dagli utenti con un'applicazione o un sistema, queste azioni includono la selezione tramite il mouse, l'invio di moduli, le attività di accesso/disconnessione o la navigazione di una pagina.
- Notifiche: alcuni eventi vengono generati per notificare altre parti del sistema o di sistemi esterni e possono includere azioni come l'invio di un'e-mail, l'attivazione di avvisi o la generazione di rapporti.
- Eventi di sistema: questi eventi si verificano all'interno del sistema e vengono attivati da elementi come il completamento di un processo, gli aggiornamenti dei dati, gli errori di sistema o l'avvio di attività pianificate.
- Input dei sensori: nelle applicazioni IoT, gli eventi possono essere generati dai dati dei sensori relativi a diversi fattori, come variazioni di temperatura, rilevamento del movimento o aggiornamenti della posizione.
- Feed di dati: questi eventi provengono da aggiornamenti di dati, come modifiche in un database, nuove voci in un file di registro o aggiornamenti da fonti di dati esterne come API o feed.
- Elaborazione dei flussi: l'elaborazione dei flussi di dati in tempo reale può generare eventi correlati al monitoraggio dei prezzi delle azioni, all'analisi dei post sui social media o al monitoraggio di analisi in tempo reale.
- Variazioni di stato: alcuni eventi sono generati da modifiche nello stato di oggetti o entità presenti all'interno del sistema, ad esempio, modificando un ordine dallo stato "In sospeso" allo stato "Spedito" o aggiornando lo stato di un ticket in un sistema di tracciamento.
- Eventi relativi al ciclo di vita: questi eventi riguardano il ciclo di vita dei componenti all'interno del sistema, come l'avvio o la disattivazione di servizi, l'implementazione di nuove versioni o i controlli di integrità del sistema.
- Eventi di integrazione: le interazioni tra diversi sistemi o servizi possono generare eventi utili, ad esempio, per sincronizzare i dati o attivare operazioni all'esterno del sistema.
Domande frequenti (FAQ)
Questi termini vengono spesso utilizzati in modo intercambiabile quando si parla di un'architettura basata sugli eventi, anche se esistono alcune differenze. In genere, un consumatore di eventi è un termine più ampio che fa riferimento a qualsiasi componente, sistema o servizio che utilizza ed elabora eventi. Il termine "abbonato agli eventi" viene utilizzato più comunemente quando si parla di sistemi di messaggistica e broker di eventi, mentre il termine "ascoltatore di eventi" viene utilizzato più spesso nel contesto della programmazione e dello sviluppo di software in cui vengono registrati i callback.
I nomi degli eventi sono identificatori utilizzati nei sistemi basati su eventi per classificare e attivare azioni o risposte specifiche quando si verificano eventi. I nomi degli eventi svolgono un ruolo cruciale nell'architettura basata sugli eventi, consentendo agli editori di etichettare gli eventi in modo da consentire agli abbonati o agli ascoltatori di comprenderli e di reagire in modo appropriato.
Perché i clienti scelgono Akamai
Akamai è l'azienda di cybersecurity e cloud computing che abilita e protegge il business online. Le nostre soluzioni di sicurezza leader del settore, l'innovativa intelligence sulle minacce e il team presente su scala globale forniscono una difesa approfondita in grado di proteggere applicazioni e dati critici ovunque. Le soluzioni complete di cloud computing offerte da Akamai assicurano performance elevate e notevoli risparmi grazie alla piattaforma più distribuita al mondo. Le maggiori aziende internazionali si affidano ad Akamai per ottenere la protezione, la scalabilità e le competenze leader del settore di cui hanno bisogno per far crescere le loro attività senza rischi.