Progettare una soluzione di messaggistica

Completato

Azure offre due soluzioni basate su messaggi: archiviazione code e bus di servizio di Azure. Archiviazione code consente di archiviare un numero elevato di messaggi in Archiviazione di Azure. Il bus di servizio è un broker di messaggi che separa applicazioni e servizi. Verranno esaminate le diverse funzionalità e capacità di questi servizi e si esaminerà come scegliere il servizio da implementare.

Una delle attività di progettazione per Tailwind Traders consiste nel consigliare una progettazione per l'applicazione demo del prodotto. I clienti usano l'app per ottenere i suggerimenti, le recensioni e le istruzioni più recenti per i prodotti di miglioramento della casa. Sono previsti due requisiti per la progettazione delle app:

  • Assicurarsi che tutti i file dei contenuti vengano caricati nell'API Web in modo affidabile dall'app per dispositivi mobili. I file includono testo, immagini e video.
  • Fornire i dettagli sui nuovi file direttamente all'app, ad esempio quando un cliente pubblica una nuova revisione di un prodotto o viene aggiunto un video.

Per questi requisiti dell'app, la soluzione ideale è un sistema basato su messaggi.

Informazioni su archiviazione code di Azure

Archiviazione code di Azure è un servizio che usa Archiviazione di Azure per archiviare un numero elevato di messaggi. Esaminare le caratteristiche del servizio seguenti.

Illustrazione di un account di archiviazione con due code di messaggi in archiviazione code di Azure.

  • Le code in archiviazione code di Azure possono contenere milioni di messaggi.

  • Il numero e le dimensioni delle code sono limitati solo dalla capacità dell'account di archiviazione di Azure proprietario dell'archiviazione code.

  • È possibile accedere ai messaggi in archiviazione code in modo sicuro in qualsiasi parte del mondo usando una semplice interfaccia basata su REST.

  • Le code offrono in genere maggiore affidabilità, il recapito garantito dei messaggi e il supporto transazionale.

Informazioni su Azure Batch

Bus di servizio di Azure è un broker di messaggi aziendale completamente gestito. Il bus di servizio viene usato per separare applicazioni e servizi. Esaminare le caratteristiche dei vantaggi del servizio seguenti.

  • Il bus di servizio di Azure supporta code di messaggi e argomenti di pubblicazione-sottoscrizione.

  • Bus di servizio di Azure consente di bilanciare il carico del lavoro tra i ruoli di lavoro concorrenti.

  • È possibile usare il bus di servizio per instradare e trasferire in modo sicuro i dati e il controllo tra i limiti del servizio e dell'applicazione.

  • Il bus di servizio consente di coordinare il lavoro transazionale che richiede un elevato livello di affidabilità.

Code di messaggi

Le code di messaggi del bus di servizio di Azure sono un sistema di broker di messaggi basato su un'infrastruttura di messaggistica dedicata. Come le code di Azure, il bus di servizio conserva i messaggi finché la destinazione non è pronta a riceverli.

Immagine che mostra un mittente e un destinatario che comunicano tramite una coda di messaggi.

Le code di messaggi del bus di servizio di Azure sono destinate alle applicazioni aziendali, ad esempio un'app che usa protocolli di comunicazione e contratti dati diversi.

Argomenti di pubblicazione-sottoscrizione

Gli argomenti di pubblicazione-sottoscrizione del bus di servizio di Azure sono simili alle code ma possono avere più sottoscrittori. Quando un messaggio viene inviato a un argomento, è possibile che più componenti vengano attivati per svolgere un'attività.

Immagine che mostra un mittente e più destinatari che comunicano tramite sottoscrizioni.

Scenario aziendale

Si consideri lo scenario in cui un cliente sta guardando un video in un'app. L'app supporta la cronologia utente e gli elenchi di fan. È possibile supportare entrambe le azioni usando gli attributi degli argomenti di pubblicazione-sottoscrizione:

  • L'app per dispositivi mobili invia un messaggio all'argomento Watched.

  • L'argomento include due sottoscrizioni. La prima sottoscrizione completa l'azione UpdateUserWatchHistory. La seconda sottoscrizione completa l'azione UpdateProductFanList.

  • Ogni sottoscrizione per l'argomento Watched riceve la propria copia del messaggio.

Aspetti da prendere in considerazione quando si scelgono i servizi di messaggistica

Ogni soluzione di messaggistica di Azure ha un set leggermente diverso di funzionalità e capacità. È possibile scegliere una soluzione o usarle entrambe per soddisfare i requisiti di progettazione. Esaminare gli scenari seguenti e considerare quali soluzioni di messaggistica possono trarre vantaggio dall'architettura dell'applicazione Tailwind Traders.

Soluzione di messaggistica Scenari di esempio
Archiviazione code di Azure Si desidera una coda semplice per organizzare i messaggi.

È necessario un audit trail di tutti i messaggi che passano attraverso la coda.

L'archiviazione code supera 80 GB.

Si vuole tenere traccia dello stato dell'elaborazione di un messaggio all'interno della coda.
Bus di servizio di Azure
code di messaggi
È necessaria una garanzia di recapito At-Most-Once.

È necessaria l'elaborazione At-Least-Once dei messaggi (modalità di ricezione PeekLock).

È necessaria l'elaborazione dei messaggi At-Most-Once (modalità di ricezione ReceiveAndDelete).

Si desidera raggruppare i messaggi in transazioni.

Si vogliono ricevere i messaggi senza eseguire il polling della coda.

È necessario gestire messaggi di dimensioni maggiori di 64 KB.

L'archiviazione code non supera gli 80 GB.

Si vuole pubblicare e usare batch di messaggi.
Bus di servizio di Azure
argomenti di pubblicazione-sottoscrizione
Sono necessari più ricevitori per la gestione di ogni messaggio.

Si prevedono più destinazioni per un singolo messaggio, ma è necessario un comportamento simile a quello delle code.