Architettura del bus di servizioService Bus architecture

Questo articolo descrive l'architettura di elaborazione dei messaggi del bus di servizio di Azure.This article describes the message processing architecture of Azure Service Bus.

Unità di scala del bus di servizioService Bus scale units

Il bus di servizio è organizzato in base a unità di scala.Service Bus is organized by scale units. Un'unità di scala è un'unità di distribuzione e contiene tutti i componenti necessari per eseguire il servizio.A scale unit is a unit of deployment and contains all components required run the service. Ogni area distribuisce una o più unità di scala del bus di servizio.Each region deploys one or more Service Bus scale units.

Uno spazio dei nomi del bus di servizio è mappato a un'unità di scala.A Service Bus namespace is mapped to a scale unit. L'unità di scala gestisce tutti i tipi di entità del bus di servizio (code, argomenti e sottoscrizioni).The scale unit handles all types of Service Bus entities (queues, topics, subscriptions). Un’unità di scala del bus di servizio include i seguenti componenti:A Service Bus scale unit consists of the following components:

  • Un set di nodi del gateway.A set of gateway nodes. I nodi del gateway autenticano le richieste in ingresso.Gateway nodes authenticate incoming requests. Ogni nodo del gateway ha un indirizzo IP pubblico.Each gateway node has a public IP address.
  • Un set di nodi del broker di messaggistica.A set of messaging broker nodes. I nodi del broker di messaggistica elaborano le richieste relative alle entità di messaggistica.Messaging broker nodes process requests concerning messaging entities.
  • Un archivio del gateway.One gateway store. Questo archivio contiene i dati per ogni entità definita nell'unità di scala.The gateway store holds the data for every entity that is defined in this scale unit. L'archivio del gateway viene implementato in un database SQL Azure.The gateway store is implemented on top of a SQL Azure database.
  • Più archivi di messaggistica.Multiple messaging stores. Gli archivi di messaggistica contengono i messaggi di tutte le code, gli argomenti e le sottoscrizioni definiti nell'unità di scala.Messaging stores hold the messages of all queues, topics and subscriptions that are defined in this scale unit. Contiene anche tutti i dati di sottoscrizione.It also contains all subscription data. A meno che non sia abilitato il partizionamento delle entità di messaggistica, per una coda o un argomento viene eseguito il mapping a un archivio di messaggistica.Unless partitioning messaging entities is enabled, a queue or topic is mapped to one messaging store. Le sottoscrizioni vengono archiviate nello stesso archivio di messaggistica del relativo argomento padre.Subscriptions are stored in the same messaging store as their parent topic. A eccezione del livello di messaggistica Premiumdel bus di servizio, gli archivi di messaggistica vengono implementati nei database SQL Azure.Except for Service Bus Premium Messaging, the messaging stores are implemented on top of SQL Azure databases.

ContenitoriContainers

A ciascuna entità di messaggistica viene assegnato un contenitore specifico.Each messaging entity is assigned a specific container. Un contenitore è un costrutto logico che usa un archivio di messaggistica per archiviare tutti i dati pertinenti per questo contenitore.A container is a logical construct that uses one messaging store to store all relevant data for this container. Ciascun contenitore viene assegnato a un nodo del broker di messaggistica.Each container is assigned to a messaging broker node. In genere, esistono più contenitori che nodi del broker di messaggistica.Typically, there are more containers than messaging broker nodes. Pertanto, ogni nodo del broker di messaggistica carica più contenitori.Therefore, each messaging broker node loads multiple containers. La distribuzione dei contenitori in un nodo del broker di messaggistica è organizzata in modo che tutti i nodi del broker di messaggistica vengano caricati in modo uniforme.The distribution of containers to a messaging broker node is organized such that all messaging broker nodes are equally loaded. Se il modello di caricamento viene modificato (ad esempio, uno dei contenitori diventa troppo occupato) o se un nodo del broker di messaggistica diventa temporaneamente non disponibile, i contenitori vengono ridistribuiti tra i nodi dei broker di messaggistica.If the load pattern changes (for example, one of the containers gets very busy), or if a messaging broker node becomes temporarily unavailable, the containers are redistributed among the messaging broker nodes.

Elaborazione delle richieste di messaggistica in ingressoProcessing of incoming messaging requests

Quando un client invia una richiesta al bus di servizio, il servizio di bilanciamento del carico di Azure instrada la richiesta ai nodi del gateway.When a client sends a request to Service Bus, the Azure load balancer routes it to any of the gateway nodes. Il nodo del gateway autorizza la richiesta.The gateway node authorizes the request. Se la richiesta riguarda un'entità di messaggistica (coda, argomento, sottoscrizione), il nodo del gateway ricerca l'entità nell'archivio del gateway e determina in quale archivio di messaggistica si trova l'entità.If the request concerns a messaging entity (queue, topic, subscription), the gateway node looks up the entity in the gateway store and determines in which messaging store the entity is located. Cerca quindi il nodo del broker di messaggistica che sta attualmente utilizzando questo contenitore e invia la richiesta a quel nodo del broker di messaggistica.It then looks up which messaging broker node is currently servicing this container, and sends the request to that messaging broker node. Il nodo del broker di messaggistica elabora la richiesta e aggiorna lo stato dell'entità nell'archivio del contenitore.The messaging broker node processes the request and updates the entity state in the container store. Il nodo del broker di messaggistica invia quindi la risposta al nodo del gateway, che invia una risposta appropriata al client che ha emesso la richiesta originale.The messaging broker node then sends the response back to the gateway node, which sends an appropriate response back to the client that issued the original request.

Elaborazione delle richieste di messaggistica in ingresso

Passaggi successiviNext steps

Ora che è stata letta una panoramica dell'architettura del bus di servizio, vedere i collegamenti seguenti per altre informazioni:Now that you've read an overview of Service Bus architecture, visit the following links for more information: