Cos'è Apache Pulsar?

Un cielo notturno stellato sopra le montagne innevate e uno specchio d'acqua.

Autori

Alice Gomstyn

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

Cos'è Apache Pulsar?

Apache Pulsar è una piattaforma di messaggistica distribuita e streaming open source e cloud-native Sebbene Apache Kafka sia da tempo lo standard per l'event streaming in tempo reale e l'elaborazione dei dati, Apache Pulsar si è imposto come potente alternativa nell'ultimo decennio.

 

Poiché le aziende devono affrontare ambienti IT e di dati sempre più complessi, si affidano a piattaforme di messaggistica e di streaming per garantire uno scambio di dati rapido e affidabile tra applicazioni, sistemi e servizi. Ora che l'analytics dei dati in tempo reale sta diventando un fattore critico per ottenere insight fruibili, accelerare la velocità del data streaming e dell'elaborazione dei dati è una priorità assoluta. Secondo i dati IDC del 2025, le aziende intervistate indicano che, nel 63% dei casi d'uso, è necessario elaborare i dati in pochi minuti perché siano utili.

Pulsar combina le caratteristiche dei sistemi di messaggistica tradizionali con quelle dei sistemi di publish/subscribe, rendendolo particolarmente adatto per casi d'uso come microservizi, messaggistica istantanea e integrazione dei dati. Una serie di funzionalità e vantaggi, tra cui replica geografica, multi-tenancy e storage su più livelli, aumentano la versatilità di Pulsar.

Originariamente sviluppato presso Yahoo e reso open source dalla Apache Software Foundation nel 2016, Apache Pulsar ora gestisce centinaia di miliardi di eventi al giorno per le principali organizzazioni.

Le ultime notizie nel campo della tecnologia, supportate dalle analisi degli esperti

Resta al passo con le tendenze più importanti e interessanti del settore relative ad AI, automazione, dati e oltre con la newsletter Think. Leggi l' Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Messaggistica ed event streaming

La comprensione dell'importanza di Apache Pulsar inizia con una visione chiara del funzionamento delle piattaforme di messaggistica e di event streaming.

Messaggistica

Un messaggio è un pacchetto di dati creato dalle applicazioni per essere utilizzato da parte di altre applicazioni. Questi pacchetti vengono utilizzati nell'ordine in cui vengono trasmessi, fino a quando l'applicazione che li utilizza non li elabora.

I sistemi di messaggistica facilitano lo scambio di tali messaggi. I sistemi di messaggistica tradizionali sono soluzioni middleware (chiamate anche middleware orientato ai messaggi o MOM). Queste soluzioni supportano in genere due modelli di distribuzione dei messaggi: messaggistica point-to-point e messaggistica publish/subscribe.

Nella messaggistica point-to-point, un'applicazione (chiamata mittente) invia un messaggio alla cosiddetta coda di messaggi, che lo memorizza. A seguire, un'altra applicazione (chiamata ricevitore o consumatore) riceve il messaggio dalla coda e lo elabora. Ogni messaggio deve essere consumato solo una volta.

Nella messaggistica di tipo publish/subscribe, detta anche pub/sub, l'applicazione che produce il messaggio è chiamata publisher. Le applicazioni che lo utilizzano sono denominate subscriber. Ogni messaggio viene pubblicato su una categoria, nota come argomento, e ogni applicazione che si abbona a quell'argomento riceve una copia di tutti i messaggi pubblicati su di esso.

Le partizioni e gli argomenti partizionati possono accelerare l'elaborazione dei messaggi. I messaggi pubblicati negli argomenti partizionati vengono distribuiti tra più broker.

La messaggistica pub/sub è progettata per la comunicazione "uno a molti" in stile broadcast. La messaggistica point-to-point, come suggerisce il nome, scambia informazioni tra un singolo mittente e un singolo destinatario.

Tra i sistemi di messaggistica tradizionali, RabbitMQ, una piattaforma open source, viene spesso citata come la più popolare.

Event streaming

Una piattaforma di event streaming acquisisce dati in tempo reale da applicazioni, database e dispositivi IoT e li trasporta verso varie destinazioni per l'elaborazione, l'analytics o lo storage immediati.

Conosciute per la loro scalabilità, le piattaforme di event streaming possono ordinare flussi di record in argomenti e memorizzare per un periodo di tempo predeterminato. A differenza dei sistemi di messaggistica tradizionali, tuttavia, le piattaforme di event streaming non possono garantire la consegna dei messaggi né registrare quali consumatori li abbiano effettivamente ricevuti: si basano piuttosto sulla messaggistica pub/sub invece che sulla distribuzione di messaggi point-to-point e offrono meno flessibilità sul routing dei messaggi.

Tra le piattaforme di event streaming, Apache Kafka è la più utilizzata.

Mixture of Experts | 12 dicembre, episodio 85

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Caratteristiche principali di Apache Pulsar

Apache Pulsar combina le funzionalità di piattaforme come RabbitMQ e Apache Kafka in un'unica soluzione. È in grado di trasmettere eventi e recapitare messaggi a più consumatori come Kafka, supporta le code e può inviare messaggi a singoli consumatori come RabbitMQ.

Pulsar, però, è molto più della somma dei suoi predecessori. Yahoo ha inizialmente sviluppato la piattaforma per soddisfare le proprie esigenze organizzative, quindi alcuni vantaggi competitivi sono stati integrati sin dall'inizio. Negli anni successivi, altri miglioramenti hanno ulteriormente perfezionato Pulsar come piattaforma di messaggistica e streaming ad alte prestazioni.

Oggi, alcune delle caratteristiche più interessanti di Apache Pulsar includono:

  • Multi-tenancy
  • Replica geografica
  • Architettura multi-livello
  • Storage su più livelli
  • Connettori IO
  • Abbonamenti flessibili

Multi-tenancy

La multi-tenancy era una delle caratteristiche originali che differenziava Apache Pulsar dalle altre piattaforme. Nell'architettura software multi-tenant, una singola istanza di un'applicazione software (e il database e l'hardware sottostanti) serve più tenant (o account utente). I vantaggi della multi-tenancy includono la configurazione, la manutenzione e l'implementazione delle applicazioni semplificate del sistema, oltre a risparmi sui costi.

In Apache Pulsar, diversi team possono condividere in sicurezza il sistema di messaggistica. Ogni tenant ha le proprie autenticazioni, autorizzazioni e politiche. I tenant possono essere ulteriormente suddivisi in cosiddetti namespace (raggruppamenti logici di argomenti). Questa divisione semplifica il supporto di ambienti diversi (come sviluppo, gestione temporanea e produzione) all'interno di un unico tenant.

Replica geografica

La replica dei messaggi in postazioni remote è importante per supportare il disaster recovery o per consentire alle applicazioni di funzionare su scala globale. A differenza di altre piattaforme, Pulsar non richiede configurazioni o componenti aggiuntivi complessi per potenziare questa funzionalità.

Con la replica geografica, le applicazioni possono connettersi al cluster Pulsar locale e inviare comunque ai cluster di tutto il mondo. Se un produttore pubblica un messaggio su un argomento in un namespace replicato, quel messaggio viene replicato automaticamente nella o nelle posizioni geografiche remote configurate.

Architettura multi-livello

L'architettura Pulsar separa i componenti di consegna dei messaggi (broker di messaggi) e i livelli di storage dei messaggi. I messaggi vengono memorizzati da Apache BookKeeper, un noto leader nelle soluzioni durevoli di memorizzazione dei log.

Per migliorare le prestazioni, BookKeeper distribuisce i dati su più server noti come bookies. (I metadati per i registri BookKeeper sono memorizzati in Apache ZooKeeper.) I bookies possono essere aggiunti se necessario, con conseguente scalabilità orizzontale adatta alla gestione di grandi volumi di dati. Questa architettura consente a Pulsar di fornire una bassa latenza e allo stesso tempo di trasferire grandi quantità di dati in un breve lasso di tempo, il cosiddetto throughput elevato.

L'architettura di Pulsar è anche considerata architettura cloud-native. Sia Pulsar che il cloud computing separano l'elaborazione dallo storage. Inoltre, Pulsar può essere distribuito su Kubernetes, una piattaforma open source di orchestrazione di container che rappresenta un elemento fondamentale della moderna infrastruttura cloud.

Storage su più livelli

Apache Pulsar offre anche le caratteristiche di storage a livelli. Questa funzionalità consente di spostare i dati arretrati più vecchi da Apache BookKeeper a uno storage a lungo termine meno costoso, pur consentendo ai clienti Pulsar di accedere al backlog.

Lo storage su più livelli Pulsar utilizza Apache jclouds (un toolkit multi-cloud open source per la piattaforma Java) per supportare lo storage a lungo termine attraverso soluzioni come AWS S3 (Amazon S3), GCS (Google Cloud Storage), Azure e Aliyun.

Connettori IO

Apache Pulsar può essere facilmente utilizzato con sistemi esterni grazie ai connettori IO di Pulsar. Questi connettori fungono da ponte tra Pulsar e altri sistemi, lavorando come motori di elaborazione dello stream, API di pipeline di dati e altre piattaforme di messaggistica.

I connettori Pulsar sono disponibili in due tipi: Source e Sink. I connettori Source trasmettono dati da sistemi esterni a Pulsar, mentre i connettori Sink fanno il contrario, trasmettendo dati da Pulsar a sistemi esterni. I connettori Pulsar più comunemente usati includono MySQL, MongoDB, Cassandra, RabbitMQ, Kafka, Flume e Redis.

Abbonamenti flessibili

Apache Pulsar supporta quattro diversi tipi di abbonamento1 per aiutare gli utenti a configurare i modelli di messaggistica:

  • Esclusivo: solo un consumatore può ricevere messaggi tramite l'abbonamento.

  • Failover: quando la trasmissione dei messaggi a un consumer primario designato non va a buon fine, i messaggi vengono inviati a un consumer in standby per l'elaborazione.

  • Condiviso: i messaggi vengono recapitati in modo "round robin", dove più consumer ricevono messaggi ma ogni messaggio viene recapitato a un solo consumer.

  • Chiave condivisa: ai messaggi viene assegnata una chiave di messaggio che aiuta a correlare i messaggi. I messaggi con la stessa chiave vengono inviati ai consumer in un ordine specifico.

Funzioni aggiuntive di Apache Pulsar

Altre caratteristiche importanti di Pulsar includono:

Bilanciamento del carico dei broker: PULSAR monitora l'utilizzo della CPU, della memoria e della rete dei broker PULSAR e sposta i workload secondo necessità per ottimizzare l'equilibrio ed evitare di sovraccaricare i singoli broker.

Registro degli schemi: il registro degli schemi di Pulsar consente ai clienti Pulsar di caricare schemi di dati per argomento per garantire che produttori e consumer utilizzino formati di messaggi compatibili.

Librerie di client: le librerie di client sono funzioni e procedure precostituite che semplificano le interazioni tra applicazioni e API, database e servizi. Pulsar supporta librerie specifiche del linguaggio di programmazione (incluse librerie per Java, C++, Python e Node.js) e librerie indipendenti dal linguaggio (REST e WebSocket).

Conservazione dei messaggi: i sistemi tradizionali eliminano i messaggi una volta consumati. Pulsar consente agli utenti di impostare politiche di conservazione per memorizzare i messaggi anche dopo che sono stati consumati, una caratteristica in grado di supportare modelli di architettura basati sugli eventi.

Casi d'uso di Apache Pulsar

I seguenti casi d'uso della Apache Software Foundation aiutano a illustrare l'utilità e la versatilità di Pulsar2

Consolidamento delle piattaforme di messaggistica

Apache Pulsar è spesso la piattaforma preferita quando le aziende decidono di perseguire il consolidamento della tecnologia di messaggistica perché supporta molteplici casi d'uso della messaggistica (fra cui messa in coda e streaming) e multi-tenancy, consentendo a più team di utilizzarla nei modi più adatti.

Resilienza agli errori per le applicazioni mission-critical

Le aziende che desiderano ridurre al minimo il rischio di perdita di dati per le applicazioni critiche, come le transazioni finanziarie, possono utilizzare Apache Pulsar per le sue caratteristiche di resilienza. Ciò significa che i messaggi inviati tramite Pulsar vengono replicati su diversi nodi di BookKeeper. Inoltre, i messaggi non vengono persi anche in caso di guasti dell'hardware.

Comunicazione a microservizi

Apache Pulsar supporta la comunicazione costante richiesta tra i microservizi tramite chiamate API indirette. I servizi possono inviare messaggi agli argomenti a cui sono abbonati altri servizi. Ci sono altri sistemi di messaggistica che forniscono questa funzionalità, ma la scalabilità orizzontale è ciò che differenzia Pulsar: la piattaforma può scalare in pochi minuti per soddisfare grandi afflussi di richieste.

Supporto della coda delle attività

I sistemi di messaggistica supportano in genere le code di attività, ovvero i sistemi che organizzano l'esecuzione asincrona dei processi in background senza ostacolare le prestazioni di un'applicazione. Apache Pulsar supporta i sistemi di coda delle attività tramite il suo abbonamento condiviso (che distribuisce i messaggi a più consumatori) e la funzionalità di riconoscimento dei messaggi che conferma il completamento di un'attività.

Soluzioni correlate
Strumenti e soluzioni per l'analytics

Per prosperare, le aziende devono utilizzare i dati per fidelizzare i clienti, automatizzare i processi aziendali e innovare con soluzioni basate sull'AI.

Esplora le soluzioni di analytics
Servizi di consulenza per dati e analytics

Sblocca il valore dei dati aziendali con IBM Consulting e crea un'organizzazione basata su insight in grado di generare vantaggi aziendali.

Esplora i servizi di analytics
IBM Cognos Analytics

Introduzione a Cognos Analytics 12.0, insight basati sull'AI per prendere decisioni migliori.

Esplora Cognos Analytics
Fasi successive

Per prosperare, le aziende devono utilizzare i dati per fidelizzare i clienti, automatizzare i processi aziendali e innovare con soluzioni basate sull'AI.

Esplora le soluzioni di analytics Esplora i servizi di analytics
Note a piè di pagina

"Messaging." The Apache Software Foundation. Consultato il 4 agosto 2025.

"Pulsar Use Cases." The Apache Software Foundation. Consultato il 4 agosto 2025.