Bus di servizio e affidabilità

Con il bus di servizio di Azure è possibile gestire completamente il brokering dei messaggi aziendali con code di messaggi e argomenti di pubblicazione-sottoscrizione. Il servizio archivia i messaggi in un broker, ad esempio una coda, fino a quando il consumer non è pronto a riceverli.

Questa caratteristica offre i vantaggi seguenti:

  • Bilanciamento del carico tra ruoli di lavoro in competizione.
  • Routing e trasferimento di dati in modo sicuro e controllo tra limiti di servizi e applicazioni.
  • Coordinamento delle operazioni transazionali che richiedono un livello elevato di affidabilità.

Per altre informazioni sull'uso del bus di servizio, vedere Messaggistica del bus di servizio di Azure. Informazioni su come impostare una messaggistica per collegare applicazioni e servici in ambienti locali e cloud.

Per comprendere in che modo il bus di servizio contribuisce a creare un carico di lavoro affidabile, vedere gli argomenti seguenti:

Le sezioni seguenti sono specifiche per il bus di servizio di Azure e l'affidabilità:

  • Considerazioni relative alla progettazione
  • Elenco di controllo configurazione
  • Opzioni consigliate per la configurazione
  • Artefatti di origine

Considerazioni relative alla progettazione

Ottimizzare l'affidabilità con un Contratto di servizio per il tempo di attività del bus di servizio di Azure. Le applicazioni configurate correttamente possono inviare o ricevere messaggi o eseguire altre operazioni in una coda o un argomento distribuito. Per altre informazioni, vedere il Contratto di servizio per il bus di servizio.

Altre considerazioni sulla progettazione includono:

Oltre alla documentazione sui livelli di messaggistica Standard e Premium del bus di servizio, le funzionalità seguenti sono disponibili solo per la SKU di livello Premium:

Quando si distribuisce il bus di servizio con il ripristino di emergenza geografico e nelle zone di disponibilità, l'obiettivo del livello di servizio (SLO) aumenta notevolmente, ma non determina modifiche del Contratto di servizio per il tempo di attività.

Elenco di controllo

Il bus di servizio di Azure è stato configurato tenendo presente l'affidabilità?

  • Valutare i vantaggi del livello Premium di bus di servizio di Azure.
  • Assicurarsi che le eccezioni di messaggistica del bus di servizio vengano gestite correttamente.
  • Connettersi al bus di servizio con Advanced Message Queueing Protocol (AMQP) e usare, se possibile, endpoint di servizio o endpoint privati.
  • Vedere Procedure consigliate per il miglioramento delle prestazioni tramite la messaggistica del bus di servizio.
  • Implementare la replica geografica sul lato mittente e destinatario per la protezione da interruzioni ed emergenze.
  • Configurare il ripristino di emergenza geografico.
  • Se è necessaria una messaggistica cruciale con code e argomenti, con il ripristino di emergenza geografico è consigliabile usare il bus di servizio Premium.
  • Configurare la ridondanza della zona nello spazio dei nomi del bus di servizio (disponibile solo con il livello Premium).
  • Implementare la disponibilità elevata per lo spazio dei nomi del bus di servizio.
  • Assicurarsi che i messaggi correlati siano recapitati nell'ordine garantito.
  • Valutare diverse funzionalità JMS (Java Messaging Service) tramite l'API JMS.
  • Usare i pacchetti NuGet .NET per comunicare con le entità di messaggistica del bus di servizio.
  • Implementare la resilienza per la gestione degli errori temporanei durante l'invio o la ricezione di messaggi.
  • Implementare il ridimensionamento automatico delle unità di messaggistica.

Raccomandazioni per la configurazione

Per ottimizzare l'affidabilità durante la configurazione del bus di servizio di Azure, considerare le raccomandazioni seguenti:

Recommendation Descrizione
Valutare i vantaggi del livello Premium di bus di servizio di Azure. Valutare la possibilità di eseguire la migrazione al livello Premium del bus di servizio per sfruttare i vantaggi della protezione da interruzioni ed emergenze supportata dalla piattaforma.
Connettersi al bus di servizio con il protocollo AMQP e usare, se possibile, endpoint di servizio o endpoint privati. Questa raccomandazione mantiene il traffico sul backbone di Azure. Nota: il protocollo di connessione predefinito per gli spazi dei nomi Microsoft.Azure.ServiceBus e Windows.Azure.ServiceBus è AMQP.
Implementare la replica geografica sul lato mittente e destinatario per la protezione da interruzioni ed emergenze. Il livello Standard supporta solo l'implementazione della ridondanza geografica sul lato mittente e destinatario. Un'interruzione o un'emergenza in un'area di Azure potrebbe causare tempi di inattività per la soluzione.
Configurare il ripristino di emergenza geografico. - Attivo/Attivo
- Attivo/Passivo
- Spazio dei nomi associato (Attivo/Passivo)
- Nota: è preferibile che l'area secondaria sia un'area associata di Azure.
Se è necessaria una messaggistica cruciale con code e argomenti, con il ripristino di emergenza geografico è consigliabile usare il bus di servizio Premium. La scelta del modello dipende dai requisiti aziendali e dall'obiettivo del tempo di ripristino (RTO).
Configurare la ridondanza della zona nello spazio dei nomi del bus di servizio (disponibile solo con il livello Premium). La ridondanza della zona include tre copie dell'archivio di messaggistica. Una zona è allocata come archivio di messaggistica primario e le altre zone sono allocate come secondarie. Se la zona primaria non è disponibile, viene promossa a primaria una zona secondaria senza tempi di inattività percepibili. Le zona di disponibilità sono disponibili in un subset di aree di Azure in cui vengono aggiunte regolarmente nuove aree.
Implementare la disponibilità elevata per lo spazio dei nomi del bus di servizio. Il livello Premium supporta il ripristino di emergenza geografico e la replica geografica a livello di spazio dei nomi. A questo livello, Premium offre disponibilità elevata per il ripristino di emergenza dei metadati usando spazi dei nomi per il ripristino di emergenza primari e secondari.
Assicurarsi che i messaggi correlati siano recapitati nell'ordine garantito. Tenere presente la necessità di impostare una chiave di partizione, un ID sessione o un ID messaggio in ogni messaggio per garantire che i messaggi correlati vengano inviati alla stessa partizione nell'entità di messaggistica.
Valutare diverse funzionalità JMS tramite l'API JMS. Le funzionalità disponibili tramite l'API JMS 2.0 e il relativo Software Development Kit (SDK) non sono le stesse disponibili tramite l'SDK nativo. Ad esempio, le sessioni del bus di servizio non sono disponibili in JMS.
Implementare la resilienza per la gestione degli errori temporanei durante l'invio o la ricezione di messaggi. È essenziale implementare la gestione degli errori temporanei appropriata e la gestione degli errori per le operazioni di invio e ricezione per mantenere la velocità effettiva e impedire la perdita di messaggi.
Implementare il ridimensionamento automatico delle unità di messaggistica per assicurarsi di disporre di risorse sufficienti per i carichi di lavoro.

Artefatti di origine

  • Per identificare le istanze del bus di servizio Premium che non usano endpoint privati, usare la query seguente:

    Resources
    | where
      type == 'microsoft.servicebus/namespaces'
    | where
      sku.tier == 'Premium'
      and isempty(properties.privateEndpointConnections)
    
  • Per identificare le istanze del bus di servizio che non sono presenti nel livello Premium, usare la query seguente:

    Resources
    | where
      type == 'microsoft.servicebus/namespaces'
    | where
      sku.tier != 'Premium'
    
  • Per identificare le istanze del bus di servizio Premium che non hanno ridondanza della zona, usare la query seguente:

    Resources
    | where
      type == 'microsoft.servicebus/namespaces'
    | where
      sku.tier == 'Premium'
      and properties.zoneRedundant == 'false'
    

Passaggio successivo