Che cos'è un bus di eventi?

Nell'architettura basata sugli eventi (EDA), un bus di eventi facilita la comunicazione in tempo reale sui dati degli eventi tra gli editori di eventi e gli abbonati.

Che cosa sono gli eventi?

Gli eventi sono cambiamenti nello stato di un sistema. Un evento è qualcosa che si è verificato e che può causare altri eventi. Una transazione di e-commerce, la richiesta di informazioni da parte di un potenziale cliente, una violazione dei dati, un'apparecchiatura in difficoltà, una variazione del prezzo delle azioni e il clic di un cliente su un URL di un sito web sono tutti esempi di eventi. Per le aziende, ricevere notifiche sugli eventi il più rapidamente possibile è fondamentale per migliorare l'efficienza, la produttività e la competitività. Per raggiungere questo obiettivo, gli architetti IT possono scegliere di implementare un'architettura basata sugli eventi.

Che cos'è l'architettura basata sugli eventi?

L'EDA è un modello di progettazione per software e hardware che consente ai sistemi di rilevare, elaborare e rispondere rapidamente a un'ampia gamma di eventi. L'architettura basata sugli eventi include:

  • Editori di eventi. Un editore o produttore di eventi è un sistema che emette una notifica non appena si verifica un evento. Gli editori di eventi possono essere interfacce utente che trasmettono dati sugli eventi degli utenti, dispositivi IoT che comunicano i cambiamenti di temperatura o movimento, API che comunicano il completamento dei pagamenti, database che indicano le modifiche nei record del database e motori dei workflow che producono eventi al completamento di attività, workflow o tappe fondamentali.
  • Bus di eventi. Un bus di eventi è un middleware che funge da intermediario tra gli editori di eventi e i consumatori. Un bus di eventi riceve messaggi di eventi in tempo reale dagli editori di eventi e mette i dati a disposizione dei consumatori di eventi che si sono iscritti per ricevere informazioni da un determinato canale o classe di eventi (anche una coda di messaggi, un broker di eventi o un flusso di eventi possono svolgere questa funzione).
  • Consumatori di eventi. Noti anche come abbonati o ascoltatori di eventi, i consumatori di eventi ricevono informazioni sugli eventi, le elaborano ed eseguono attività o azioni basate su di esse. Le azioni di un consumatore di eventi possono includere l'aggiornamento di un database, l'invio di un'e-mail, un avviso o un ordine, l'attivazione di un flusso di lavoro o la produzione di un nuovo evento.

Quali sono i vantaggi della tecnologia EDA?

L'architettura basata sugli eventi e i bus di eventi offrono diversi vantaggi ai sistemi IT aziendali.

Con i bus di eventi come intermediari, i sistemi EDA offrono la messaggistica asincrona e l'accoppiamento libero delle applicazioni. I sistemi che pubblicano eventi non devono sapere dove inviano informazioni e i consumatori di eventi non devono sapere da dove provengono i messaggi degli eventi. Ciò offre un vantaggio significativo rispetto all'architettura di "richiesta/risposta", in cui un'applicazione richiede informazioni da un'altra e attende la risposta. 

Questo messaggio asincrono significa che editori e consumatori non devono aspettare le risposte prima di agire in base alle informazioni o passare all'attività successiva. I produttori di eventi non devono sapere nulla dei consumatori di eventi, che, a loro volta, non devono conoscere i produttori di eventi. I produttori semplicemente indicano che è successo qualcosa e i consumatori ascoltano gli eventi a cui tengono. Questo accoppiamento libero rende il sistema più resiliente agli errori. Di conseguenza, l'architettura basata sugli eventi consente ai vari componenti di scalare in modo indipendente quando necessario e consente ai sistemi di gestire enormi quantità di dati con un maggior livello di velocità ed elaborazione in tempo reale.

Come funziona un bus di eventi nell'EDA?

Un bus di eventi viene solitamente utilizzato in un modello di pubblicazione/sottoscrizione. In questo approccio all'EDA, i bus di eventi ricevono messaggi dagli editori, traducono o trasformano le informazioni, se necessario, mantengono i messaggi organizzati e ordinati, indirizzano i messaggi agli abbonati per utilizzarli e poi eliminano i messaggi una volta utilizzati.

Ecco come funziona il processo:

  • Per ricevere i dati degli eventi, i consumatori di eventi sono configurati per ricevere informazioni dai bus di eventi su un evento specifico, un tipo di evento o una classe di eventi.
  • Quando il bus di eventi riceve un messaggio da un editore di eventi, instrada i dati a tutti gli abbonati appropriati. Le aziende possono anche configurare i bus per conservare i dati per un periodo di tempo, consentendo ai consumatori di ottenere i dati in base alle proprie esigenze.

Quali sono i vantaggi derivanti dall'utilizzo di un bus di eventi?

I bus di eventi consentono ai componenti dell'architettura basata sugli eventi di:

  • Comunicare senza dipendenze. Ciò semplifica l'aggiunta o la modifica dei componenti senza causare problemi di downtime o influire sull'intero sistema.
  • Scalare in orizzontale. L'architettura dei bus di eventi consente di implementare più istanze dello stesso componente contemporaneamente, consentendo l'elaborazione parallela per migliorare le performance del sistema.
  • Gestire la comunicazione asincrona. Facilitando i messaggi di evento nel sistema, i bus di eventi semplificano la comunicazione asincrona e consentono ai componenti di attivare le azioni in modo indipendente.

Quali sono i casi di utilizzo per un bus di eventi?

È possibile utilizzare un bus di eventi per facilitare i messaggi di evento per un'ampia gamma di applicazioni.

  • E-commerce. Le piattaforme di e-commerce si basano su bus di eventi per comunicare eventi come "prodotto ordinato", "pagamento ricevuto" o "pacchetto spedito". Questi eventi possono indurre i consumatori ad attivare azioni come la creazione di fatture, l'invio di conferme tramite e-mail o l'ordinazione di più inventari.
  • Microservizi. La natura liberamente accoppiata dei bus di eventi e dell'EDA è l'infrastruttura ideale per la comunicazione tra i microservizi.
  • Raccolta dei dati dell'IoT. I bus di eventi possono ricevere enormi quantità di dati sugli eventi da dispositivi e sensori IoT (Internet of Things) che monitorano i dati ambientali o i movimenti del traffico e delle persone.
  • Modifica nell'acquisizione dei dati. I bus di eventi possono facilitare gli eventi relativi alle modifiche in un database, ad esempio quando il record CRM di un cliente viene aggiornato, viene registrata una nuova registrazione o un articolo di inventario è esaurito.
  • Integrazione. L'EDA e i bus di eventi promuovono l'integrazione di diverse tecnologie tramite la comunicazione asincrona e le relazioni liberamente accoppiate tra i sistemi.
  • Elaborazione dei dati in tempo reale. I bus di eventi promuovono database in tempo reale informando i consumatori sugli eventi non appena si verificano.

Quali sono i servizi dei bus di eventi più comuni?

Alcuni dei servizi dei bus di eventi più popolari includono Java Message Service (JMS), Apache Kafka, RabbitMQ, Microsoft Azure Event Grid, Google Cloud Pub/Sub e servizi AWS come Amazon EventBridge.

Domande frequenti (FAQ)

Un bus di eventi viene normalmente utilizzato per facilitare la comunicazione in tempo reale. Una coda di messaggi consente la comunicazione asincrona tra servizi e componenti memorizzando i messaggi finché un consumatore non è pronto per elaborarli. I broker di messaggi vengono utilizzati in ambienti più complessi per tradurre i messaggi da un protocollo all'altro.

L'architettura basata sugli eventi e i bus di eventi sono tecnologie che offrono un modello senza server per il cloud computing. L'architettura senza server consente agli sviluppatori di scrivere e distribuire codice senza preoccuparsi della gestione e della configurazione dei server e dell'infrastruttura sottostanti. Un bus di eventi può essere una parte importante dell'architettura senza server, facilitando gli aspetti basati sugli eventi tramite la distribuzione e la gestione dei messaggi di evento.

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.

Scoprite tutte le soluzioni per la sicurezza di Akamai