Esporta (0) Stampa
Espandi tutto

Procedure consigliate per l'utilizzo dell'API di messaggistica negoziata del bus di servizio di Windows Azure

Aggiornamento: marzo 2014

Autore: Valery Mizonov

Collaboratori: Seth Manheim, Paolo Salvatori, James Podgorski, Eric Lam, Jayu Katti

In questo articolo vengono fornite informazioni aggiuntive pratiche per gli sviluppatori che utilizzano l'API di messaggistica negoziata gestita .NET nel bus di servizio di Windows Azure. Le indicazioni fornite nell'articolo vengono direttamente da progetti recenti di clienti. Durante la compilazione di soluzioni reali con il Bus di servizio, sono state apprese alcune procedure consigliate principali e segreti poco noti che consentiranno di aumentare l'affidabilità e migliorare le prestazioni di soluzioni in cui vengono utilizzate le nuove funzionalità di messaggistica negoziata nel Bus di servizio. Lo scopo di questo articolo è condividere queste lezioni con la community dello sviluppatore.

Messaggistica inoltrata e messaggistica negoziata

Il Service Bus di Azure offre due soluzioni di messaggistica complete. La prima soluzione è disponibile tramite un servizio di inoltro centralizzato, con elevato livello di bilanciamento del carico, in esecuzione nel cloud che supporta vari protocolli di trasporto differenti e servizi Web standard, tra cui SOAP, WS-* e REST. Il servizio di inoltro supporta la messaggistica unidirezionale diretta, la messaggistica di richiesta/risposta e la messaggistica peer-to-peer. Il modello associato a questo tipo di soluzione di messaggistica viene definito messaggistica inoltrata. Nel modello di messaggistica inoltrata, tramite un servizio locale o basato su cloud viene stabilita una connessione al servizio di inoltro mediante una porta in uscita e viene creato un socket bidirezionale per la comunicazione associato a un determinato indirizzo rendezvous. La posizione in cui risiede il servizio non deve essere nota al client e nel servizio locale non devono essere presenti porte in ingresso aperte sul firewall. La messaggistica inoltrata offre numerosi vantaggi, ma richiede che il server e il client siano entrambi online contemporaneamente per poter inviare e ricevere messaggi. Questo tipo di messaggistica è disponibile fin dalla versione iniziale del Bus di servizio.

Tramite la seconda soluzione di messaggistica, introdotta nell'ultima versione del Bus di servizio, vengono abilitate le funzionalità di messaggistica "negoziata". Lo schema della messaggistica negoziata può essere considerato come un tipo di messaggistica asincrono o "temporalmente disaccoppiato". I producer (mittenti) e i consumer (ricevitori) non devono quindi essere contemporaneamente online. L'infrastruttura di messaggistica consente di archiviare in modo affidabile i messaggi finché il consumer non è pronto a riceverli. Questo consente la disconnessione volontaria (ad esempio, per attività di manutenzione) o involontaria (a seguito di un guasto) dei componenti dell'applicazione distribuita senza ripercussioni sull'intero sistema. L'applicazione ricevente inoltre può dover essere online solo in certi orari, come nel caso di un sistema di gestione magazzino la cui esecuzione è richiesta esclusivamente alla fine della giornata di lavoro.

I componenti principali dell'infrastruttura di messaggistica negoziata del Bus di servizio sono code, argomenti e sottoscrizioni. Questi componenti consentono nuovi scenari di messaggistica asincrona, ad esempio scenari di disaccoppiamento temporale, pubblicazione e sottoscrizione e bilanciamento e livellamento del carico. Per ulteriori informazioni su questi scenari, vedere la sezione Risorse aggiuntive

Panoramica dell'API di messaggistica negoziata

In tutte queste informazioni aggiuntive fornite vengono illustrati molti riferimenti ai vari componenti, alle varie classi e ai vari tipi disponibili nell'API di messaggistica negoziata .NET. Per contestualizzare questi elementi, viene fornito un elenco di alcune delle API principali mediante le quali vengono offerte e supportate le funzionalità di messaggistica negoziata nel Bus di servizio.

Le classi seguenti sono i membri dell'API più utilizzati frequentemente dagli spazi dei nomi Microsoft.ServiceBus e Microsoft.ServiceBus.Messaging, spesso utilizzati per la distribuzione di una soluzione di messaggistica negoziata:

 

Nome classe

Descrizione

BrokeredMessage

Rappresenta l'unità di comunicazione tra i client del Bus di servizio. Le istanze serializzate degli oggetti BrokeredMessage vengono trasmesse mediante un collegamento quando la comunicazione tra i client di messaggistica avviene tramite code e argomenti.

QueueClient

Rappresenta un oggetto di messaggistica tramite cui è possibile inviare e ricevere messaggi da una coda del Bus di servizio.

QueueDescription

Rappresenta un oggetto metadati mediante il quale viene descritta una coda del Bus di servizio in cui sono inclusi il percorso della coda, le impostazioni relative al comportamento, ad esempio la durata del blocco, la durata TTL predefinita, il rilevamento duplicato, e i punti dati informativi, ad esempio la lunghezza e le dimensioni attuali della coda.

TopicClient

Rappresenta un oggetto di messaggistica tramite cui è possibile inviare messaggi da un argomento del Bus di servizio.

TopicDescription

Rappresenta un oggetto metadati mediante il quale viene descritto un argomento del Bus di servizio in cui sono inclusi il percorso dell'argomento, le impostazioni relative al comportamento, ad esempio il rilevamento duplicato, e i punti dati informativi, ad esempio le dimensioni attuali e massime dell'argomento.

SubscriptionClient

Rappresenta un oggetto di messaggistica tramite cui è possibile ricevere messaggi da una sottoscrizione del Bus di servizio.

SubscriptionDescription

Rappresenta un oggetto metadati mediante il quale viene descritta una sottoscrizione del Bus di servizio in cui sono inclusi il nome della sottoscrizione, il percorso dell'argomento attribuibile, le impostazioni relative al comportamento, ad esempio il supporto delle sessioni, la durata TTL predefinita, la durata del blocco, e i punti dati informativi, ad esempio il numero di messaggi corrente.

NamespaceManager

Rappresenta un oggetto di gestione responsabile delle operazioni di runtime con entità di messaggistica del Bus di servizio (code, argomenti, sottoscrizioni, regole) inclusi la creazione, il recupero, l'eliminazione e l'asserzione dell'esistenza.

MessagingFactory

Rappresenta un oggetto factory responsabile della creazione di un'istanza, della traccia e della gestione del ciclo di vita dei client dell'entità di messaggistica quali TopicClient, QueueClient e SubscriptionClient.

MessageReceiver

Rappresenta un oggetto di messaggistica astratto che supporta funzionalità di messaggistica avanzate con particolare attenzione alle operazioni di ricezione dei messaggi.

MessageSender

Rappresenta un oggetto di messaggistica astratto che supporta funzionalità di messaggistica avanzate con particolare attenzione alle operazioni di invio dei messaggi.

MessageSession

Rappresenta una sessione del messaggio tramite cui è possibile il raggruppamento di messaggi correlati per l'elaborazione in una singola transazione.

Filter

Rappresenta un oggetto metadati astratto costituito da un'espressione di filtro e un'azione associata eseguita nel motore di valutazione della sottoscrizione del Bus di servizio. La classe Filter viene utilizzata come classe base per gli oggetti TrueFilter, FalseFilter, SqlFilter e CorrelationFilter che rappresentano le implementazioni di un oggetto metadati per un tipo di filtro specificato.

TokenProvider

Rappresenta un oggetto factory che fornisce accesso ai tipi diversi di provider del token di sicurezza responsabili dell'acquisizione di token SAML, SharedSecret e SimpleWeb.

Si consiglia di acquisire familiarità con questi elementi dell'API per cominciare la compilazione della prima soluzione di messaggistica negoziata con il Bus di servizio. Si noti che in questo elenco non sono contemplate tutte le classi trovate nell'API di messaggistica negoziata. Per una panoramica completa di tutti i membri dell'API, vedere la documentazione su MSDN.

Procedure consigliate nell'API di messaggistica negoziata

Le indicazioni specifiche riportate negli argomenti disponibili in questa sezione derivano dall'esperienza pratica con l'API di messaggistica negoziata gestita .NET. L'obiettivo di queste indicazioni è quello di incoraggiare gli sviluppatori ad applicare le tecniche e i modelli illustrati nelle sezioni seguenti per poter offrire soluzioni di messaggistica affidabili. In questa sezione sono contenuti gli argomenti seguenti:

Aggiunte alla community

Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft