Messaggistica del bus di servizio: recapito flessibile dei dati nel cloudService Bus messaging: flexible data delivery in the cloud

Il bus di servizio di Microsoft Azure è un servizio di recapito di informazioni affidabile.Microsoft Azure Service Bus is a reliable information delivery service. Lo scopo di questo servizio è semplificare la comunicazione.The purpose of this service is to make communication easier. Quando due o più parti desiderano scambiarsi informazioni, è necessario un meccanismo che semplifichi la comunicazione.When two or more parties want to exchange information, they need a communication facilitator. Il bus di servizio è un meccanismo di comunicazione negoziato o di terze parti.Service Bus is a brokered, or third-party communication mechanism. È simile a un servizio postale nel mondo fisico.This is similar to a postal service in the physical world. I servizi postali semplificano l'invio di diversi tipi di lettere e pacchetti con una serie di garanzie di recapito, in qualsiasi parte del mondo.Postal services make it very easy to send different kinds of letters and packages with a variety of delivery guarantees, anywhere in the world.

Analogamente al servizio postale di recapito della corrispondenza, il bus di servizio offre il recapito flessibile delle informazioni sia per il mittente che per il destinatario.Similar to the postal service delivering letters, Service Bus is flexible information delivery from both the sender and the recipient. Il servizio di messaggistica garantisce che le informazioni vengano recapitate anche se le due parti non sono mai in linea contemporaneamente o se non sono disponibili nello stesso momento.The messaging service ensures that the information is delivered even if the two parties are never both online at the same time, or if they aren't available at the exact same time. In questo modo, la messaggistica è simile all'invio di una lettera, mentre la comunicazione non negoziata è simile a una chiamata telefonica del passato, prima dell'introduzione dell'attesa di chiamata e dell'ID chiamate, che la rendono simile alla messaggistica negoziata.In this way, messaging is similar to sending a letter, while non-brokered communication is similar to placing a phone call (or how a phone call used to be - before call waiting and caller ID, which are much more like brokered messaging).

Il mittente del messaggio può richiedere anche un'ampia gamma di caratteristiche di recapito tra cui transazioni, rilevamento dei duplicati, scadenza basata su tempo e invio in batch.The message sender can also require a variety of delivery characteristics including transactions, duplicate detection, time-based expiration, and batching. Anche questi modelli presentano analogie con il servizio postale: consegna ripetuta, firma obbligatoria, modifica dell'indirizzo o richiamo.These patterns have postal analogies as well: repeat delivery, required signature, address change, or recall.

Il bus di servizio supporta due modelli di messaggistica distinti: inoltro di Azure e messaggistica del bus di servizio.Service Bus supports two distinct messaging patterns: Azure Relay and Service Bus Messaging.

Servizio di inoltro di AzureAzure Relay

Il componente Inoltro WCF del servizio di inoltro di Azure è un servizio centralizzato, ma con carico altamente bilanciato, che supporta un'ampia gamma di protocolli di trasporto e standard dei servizi Web.The WCF Relay component of Azure Relay is a centralized (but highly load-balanced) service that supports a variety of different transport protocols and Web services standards. tra cui SOAP, WS-* e anche REST.This includes SOAP, WS-*, and even REST. Il servizio di inoltro offre una varietà di opzioni di connettività di inoltro e può facilitare la negoziazione di connessioni peer-to-peer dirette quando possibile.The relay service provides a variety of different relay connectivity options and can help negotiate direct peer-to-peer connections when it is possible. Bus di servizio è ottimizzato per gli sviluppatori .NET che utilizzano Windows Communication Foundation (WCF), in termini di prestazioni e usabilità e fornisce accesso completo al servizio di inoltro mediante interfacce SOAP e REST.Service Bus is optimized for .NET developers who use the Windows Communication Foundation (WCF), both with regard to performance and usability, and provides full access to its relay service through SOAP and REST interfaces. In questo modo è possibile l’integrazione con il Bus di servizio per qualsiasi SOAP o ambiente di programmazione REST.This makes it possible for any SOAP or REST programming environment to integrate with Service Bus.

Il servizio di inoltro supporta la messaggistica unidirezionale tradizionale, la messaggistica richiesta-risposta e la messaggistica peer-to-peer.The relay service supports traditional one-way messaging, request/response messaging, and peer-to-peer messaging. Supporta inoltre la distribuzione degli eventi nell'ambito di Internet per abilitare scenari di pubblicazione/sottoscrizione e le comunicazioni tramite socket bidirezionale per migliorare l'efficienza point-to-point.It also supports event distribution at Internet-scope to enable publish-subscribe scenarios and bi-directional socket communication for increased point-to-point efficiency. Nel modello di messaggistica inoltrata, un servizio locale si connette al servizio di inoltro attraverso una porta in uscita e crea un socket bidirezionale per la comunicazione associato a un determinato indirizzo rendezvous.In the relayed messaging pattern, an on-premises service connects to the relay service through an outbound port and creates a bi-directional socket for communication tied to a particular rendezvous address. Il client può quindi comunicare con il servizio locale inviando messaggi al servizio di inoltro come destinazione l'indirizzo rendezvous.The client can then communicate with the on-premises service by sending messages to the relay service targeting the rendezvous address. Il servizio di inoltro eseguirà quindi l’"inoltro" dei messaggi al servizio locale attraverso il socket bidirezionale già in uso.The relay service will then "relay" messages to the on-premises service through the bi-directional socket already in place. Il client non necessita di una connessione diretta al servizio locale, non deve conoscere la posizione in cui risiede il servizio e il servizio locale non richiede porte in ingresso aperte sul firewall.The client does not need a direct connection to the on-premises service, nor is it required to know where the service resides, and the on-premises service does not need any inbound ports open on the firewall.

È possibile avviare la connessione tra il servizio locale e il servizio di inoltro mediante una suite di associazioni di "inoltro" WCF.You initiate the connection between your on-premises service and the relay service, using a suite of WCF "relay" bindings. Dietro le quinte, eseguire il mapping delle associazioni di inoltro ai nuovi elementi di associazione di trasporto progettati per creare i componenti di canale WCF che si integrano con il bus di servizio nel cloud.Behind the scenes, the relay bindings map to transport binding elements designed to create WCF channel components that integrate with Service Bus in the cloud.

L'inoltro WCF offre numerosi vantaggi, ma richiede che il server e il client siano online contemporaneamente per inviare e ricevere messaggi.WCF Relay provides many benefits, but requires the server and client to both be online at the same time in order to send and receive messages. Questo non è ottimale per la comunicazione di tipo HTTP, in cui le richieste potrebbero essere in genere a breve tempo, né per i client che si connettono solo occasionalmente, come browser, applicazioni per dispositivi mobili e così via.This is not optimal for HTTP-style communication, in which the requests may not be typically long-lived, nor for clients that connect only occasionally, such as browsers, mobile applications, and so on. La messaggistica negoziata supporta la comunicazione disaccoppiata e presenta dei vantaggi; i client e server possono connettersi quando necessario ed eseguire le operazioni in modo asincrono.Brokered messaging supports decoupled communication, and has its own advantages; clients and servers can connect when needed and perform their operations in an asynchronous manner.

Messaggistica negoziataBrokered messaging

A differenza dello schema dell'inoltro, la messaggistica del bus di servizio con code, argomenti e sottoscrizioni può essere considerata asincrona o disaccoppiata dal punto di vista temporale.In contrast to the relay scheme, Service Bus messaging with queues, topics, and subscriptions can be thought of as asynchronous, or "temporally decoupled." Produttori (mittenti) e utenti (ricevitori) non devono essere necessariamente online contemporaneamente.Producers (senders) and consumers (receivers) do not have to be online at the same time. L'infrastruttura di messaggistica archivia in modo affidabile i messaggi in un "broker", ad esempio una coda, fino a quando il consumer non è pronto a riceverli.The messaging infrastructure reliably stores messages in a "broker" (for example, a queue) until the consuming party is ready to receive them. In questo modo, i componenti dell'applicazione distribuita possono essere disconnessi, volontariamente (ad esempio, per attività di manutenzione) o involontariamente (a causa di un arresto anomalo del componente), senza ripercussioni sull'intero sistema.This enables the components of the distributed application to be disconnected, either voluntarily; for example, for maintenance, or due to a component crash, without affecting the entire system. Inoltre, l'applicazione ricevente deve solo essere in linea durante determinate ore del giorno, ad esempio un sistema di gestione inventario che deve essere eseguito alla fine della giornata lavorativa.Furthermore, the receiving application may only have to come online during certain times of the day, such as an inventory management system that only is required to run at the end of the business day.

I componenti di base dell'infrastruttura di messaggistica del bus di servizio sono code, argomenti e sottoscrizioni.The core components of the Service Bus messaging infrastructure are queues, topics, and subscriptions. La differenza principale è che gli argomenti supportano funzionalità di pubblicazione/sottoscrizione che possono essere usate per la logica di instradamento e recapito sofisticata basata sul contenuto, incluso l'invio a più destinatari.The primary difference is that topics support publish/subscribe capabilities that can be used for sophisticated content-based routing and delivery logic, including sending to multiple recipients. Questi componenti consentono nuovi scenari di messaggistica asincrona, ad esempio disaccoppiamento temporale, pubblicazione/sottoscrizione e bilanciamento del carico.These components enable new asynchronous messaging scenarios, such as temporal decoupling, publish/subscribe, and load balancing. Per altre informazioni sulle entità di messaggistica, vedere Code, argomenti e sottoscrizioni del bus di servizio.For more information about these messaging entities, see Service Bus queues, topics, and subscriptions.

Come per l'infrastruttura di inoltro WCF, la funzionalità di messaggistica negoziata viene resa disponibile per i programmatori di .NET Framework e WCF e anche tramite REST.As with the WCF Relay infrastructure, the brokered messaging capability is provided for WCF and .NET Framework programmers, and also via REST.

Passaggi successiviNext steps

Per altre informazioni sulla messaggistica del bus di servizio, vedere gli argomenti seguenti.To learn more about Service Bus messaging, see the following topics.