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 integrazione dei dati per caricare e distribuire i dati. È altrettanto efficace come middleware orientato alla messaggistica per l'integrazione di 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 vengano elaborati. Pub/Sub poi invia gli eventi a tutti i servizi che reagiscono a essi. Nei sistemi che comunicano tramite RPC, i publisher devono attendere che gli iscritti 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, vedi Creazione di un sistema di messaggistica Pub/Sub.

Casi d'uso comuni

  • Importazione di eventi server e di interazione con l'utente. Per utilizzare gli eventi di interazione utente dalle app per utenti finali o gli eventi 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 più client contemporaneamente.
  • Distribuzione di eventi in tempo reale. Gli eventi, grezzi o elaborati, possono essere resi disponibili a più applicazioni nel tuo team e nella tua organizzazione per l'elaborazione in tempo reale. Pub/Sub supporta un "bus degli eventi aziendale" e pattern di progettazione di applicazioni basate su eventi. Pub/Sub ti consente di integrarti con molti sistemi che esportano eventi in Pub/Sub.
  • Replica dei dati tra i database. Pub/Sub viene comunemente utilizzato per distribuire eventi di modifica dai database. Questi eventi possono essere utilizzati per creare una visualizzazione dello stato del database e della cronologia dello stato.
  • Elaborazione parallela e flussi di lavoro. Puoi distribuire in modo efficiente molte attività tra più worker utilizzando i messaggi Pub/Sub per comunicare con i worker. Alcuni esempi di queste attività sono la compressione di file di testo, l'invio di notifiche email, la valutazione di modelli di AI e la riformattazione delle immagini.
  • Enterprise Event Bus. Puoi creare un bus di condivisione dei dati in tempo reale a livello aziendale, distribuendo eventi aziendali, aggiornamenti del 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 prodotti Cloud de Confiance by S3NS tramite una pipeline di elaborazione dei dati.
  • Aggiornamento delle cache distribuite. Ad esempio, un'applicazione può pubblicare eventi di invalidazione per aggiornare gli ID degli oggetti che sono stati modificati.
  • Bilanciamento del carico per l'affidabilità. Ad esempio, le istanze di un servizio possono essere implementate su Compute Engine in più zone, ma sottoscrivere un argomento comune. Quando il servizio non funziona in una zona, le altre possono riprendere il carico automaticamente.

Passaggi successivi