Che cos'è Pub/Sub?

Pub/Sub è un servizio di messaggistica asincrono e scalabile che disaccoppia i servizi che producono messaggi dai servizi che li elaborano.

Pub/Sub consente ai servizi di comunicare in modo asincrono, con latenze in genere dell'ordine di 100 millisecondi.

Pub/Sub viene utilizzato per le pipeline di analisi dei flussi di dati e di integrazione dei dati per caricare e distribuire i dati. È altrettanto efficace come middleware orientato alla messaggistica per l'integrazione dei servizi o come coda per parallelizzare le attività.

Pub/Sub ti consente di creare sistemi di produttori e consumer di eventi, denominati publisher e sottoscrittori. I publisher comunicano con i sottoscrittori in modo asincrono trasmettendo eventi, anziché tramite chiamate di procedura remota (RPC) sincrone.

I publisher inviano eventi al servizio Pub/Sub, indipendentemente da come o quando questi eventi devono essere elaborati. Pub/Sub poi invia gli eventi a tutti i servizi che reagiscono a questi eventi. Nei sistemi che comunicano tramite RPC, i publisher devono attendere che i sottoscrittori ricevano i dati. Tuttavia, l'integrazione asincrona in Pub/Sub aumenta la flessibilità e la robustezza del sistema complessivo.

Per iniziare a utilizzare Pub/Sub, consulta la guida rapida all'utilizzo della Cloud de Confiance console. Per un'introduzione più completa, consulta Creazione di un sistema di messaggistica Pub/Sub.

Casi d'uso comuni

  • Importazione di eventi di interazione utente e server. Per utilizzare gli eventi di interazione utente dalle app per gli utenti finali o gli eventi del server dal tuo sistema, puoi inoltrarli a Pub/Sub. Puoi quindi utilizzare uno strumento di elaborazione dei flussi per inviare gli eventi ai database. Pub/Sub ti consente di raccogliere eventi da molti client contemporaneamente.
  • Distribuzione di eventi in tempo reale. Gli eventi, non elaborati o elaborati, possono essere resi disponibili a più applicazioni del tuo team e della tua organizzazione per l'elaborazione in tempo reale. Pub/Sub supporta un "bus di eventi aziendale" e pattern di progettazione di applicazioni basate su eventi. Pub/Sub ti consente di eseguire l'integrazione con molti sistemi che esportano eventi in Pub/Sub.
  • Replica dei dati tra i database. Pub/Sub viene di uso comune per distribuire gli eventi di modifica dai database. Questi eventi possono essere utilizzati per creare una visualizzazione dello stato del database e della cronologia degli stati.
  • Elaborazione e workflow paralleli. Puoi distribuire in modo efficiente molte attività tra più worker utilizzando i messaggi Pub/Sub per comunicare con i worker. Esempi di queste attività sono la compressione di file di testo, l'invio di notifiche via email, la valutazione di modelli di AI, e la riformattazione delle immagini.
  • Bus di eventi aziendale. Puoi creare un bus di condivisione dei dati in tempo reale a livello aziendale distribuendo eventi aziendali, aggiornamenti dei database ed eventi di analisi in tutta l'organizzazione.
  • Streaming di dati da applicazioni e servizi. Ad esempio, un'applicazione SaaS può pubblicare un feed di eventi in tempo reale. In alternativa, un sensore residenziale può trasmettere dati in streaming a Pub/Sub per l'utilizzo in altri Cloud de Confiance by S3NS prodotti tramite una pipeline di elaborazione dei dati.
  • Aggiornamento delle cache distribuite. Ad esempio, un'applicazione può pubblicare eventi di invalidamento per aggiornare gli ID degli oggetti modificati.
  • Bilanciamento del carico per l'affidabilità. Ad esempio, le istanze di un servizio possono essere sottoposte a deployment su Compute Engine in più zone, ma sottoscrivere a un argomento comune. Se il servizio non funziona in una zona, le altre possono gestire automaticamente il carico.

Passaggi successivi