2013-04-08 13 views
9

Ho una domanda che mi confonde quali sono le differenze tra i tipi di bus di servizio, la messaggistica intermediata e la messaggistica inoltrata? Non lo sto cercando dal punto di vista dello sviluppo, ma voglio capire di più il concetto e le differenze tra di loro.Service Bus Brokered VS Relayed Messaging

Grazie.

risposta

1

dal sito di Azure:

Relay

Il servizio Service Bus Relay consente di creare applicazioni ibride che funzionano sia in un data center Windows Azure e il vostro on-premises ambiente aziendale . Il relè del bus di servizio facilita questo consentendo di esporre in sicurezza i servizi di Windows Communication Foundation (WCF) che risiedono all'interno di una rete aziendale aziendale al cloud pubblico , senza dover aprire una connessione firewall o richiedendo modifiche intrusive a una società infrastruttura di rete.

Relay gestisce anche il bilanciamento del carico per voi (è possibile avere più applicazioni in ascolto sullo stesso endpoint per la maggior parte dei binding).

Brokered Messaging

La seconda soluzione di messaggistica, nuova nella versione più recente del Service Bus , consente di “mediato” funzionalità di messaggistica. Questi possono essere pensati come funzionalità di messaggistica asincrona o disaccoppiata che supportano la sottoscrizione, il disaccoppiamento temporale e il bilanciamento del carico degli scenari utilizzando l'infrastruttura di messaggistica del bus di servizio. La comunicazione disaccoppiata ha molti vantaggi; ad esempio, i client e i server possono connettersi in base alle esigenze ed eseguire le operazioni in modo asincrono .

La messaggistica intermedia include code e argomenti/sottoscrizioni che consentono di inviare/ricevere messaggi in modo asincrono.

La differenza principale è che per l'inoltro, le applicazioni sono in ascolto su un endpoint. Quando si invia un messaggio, l'applicazione elabora quel messaggio quando viene ricevuto. Per la messaggistica intermediata, il messaggio viene archiviato quando viene ricevuto dal client e può essere elaborato in qualsiasi momento.

+0

Grazie mille per il vostro aiuto :) – hhaggan

13

Service Bus Relay e Service Bus Brokered Messaging sono entrambi meccanismi per lo sviluppo di applicazioni distribuite e ibride. Tuttavia, hanno come target diversi modelli di sviluppo e accesso.

  • Service Bus (SB) Relè fornisce una semplice & modo sicuro per fare servizio remoto, vale a dire, permette di esporre in modo sicuro un servizio ospitato su un cloud privato per clienti esterni. Come nel caso degli scenari di servizio remoti, i client invocano esplicitamente i metodi esposti dal servizio "inoltro". Il vantaggio principale di SB Relay è che il servizio può essere esposto senza richiedere alcuna modifica alle impostazioni del firewall o eventuali modifiche intrusive all'infrastruttura di rete aziendale.

  • SB Brokered Messaging d'altra parte fornisce una piattaforma di messaggistica durevole con componenti come code, argomenti e abbonamenti. Questi possono essere utilizzati per implementare modelli complessi come la pubblicazione-sottoscrizione e il disaccoppiamento temporale tra diverse parti della tua applicazione. Poiché l'infrastruttura di messaggistica intermediata può archiviare in modo affidabile i messaggi, i mittenti e i ricevitori non devono essere online nello stesso momento o non devono elaborare i messaggi allo stesso ritmo.

La messaggistica inoltro è quindi appropriata per gli scenari in cui si dispone di un servizio che si desidera esporre a client esterni. I client interagiscono con il servizio "inoltrato" nello stesso modo in cui lo farebbero se si trovassero sulla rete locale, tranne che accedano tramite l'endpoint SB Relay. Poiché si tratta di uno scenario di servizio remoto, la risposta è soggetta alla latenza della rete. Tuttavia, se per qualsiasi motivo il servizio non è disponibile in quel momento, la richiesta del cliente avrà sempre esito negativo.

In caso di messaggistica intermediata, poiché le operazioni di ricezione di invio & sono disaccoppiate, il mittente può continuare a inviare messaggi che sono memorizzati in modo affidabile sul servizio indipendentemente dal fatto che il ricevitore sia online o meno. Tuttavia, il compromesso per questa resilienza è che la richiesta verrà elaborata in base alla capacità del destinatario di recuperare ed elaborare il messaggio.

+0

Grazie mille, lo apprezzo molto :) ora è così chiaro per me :) – hhaggan

0

Penso che la differenza principale sia la natura sincrona contro la natura asincrona della connettività.

Nei casi in cui il relè è principalmente un modo amichevole per mostrare i servizi Web al pubblico (anche dietro firewall, dispositivi NAT, ecc.), La messaggistica è più un modo per scambiare messaggi in modo asincrono su code e argomenti. (Guardare come la prossima versione di MSMQ con il supporto nuvola :))

Tutto dipende dalla situazione, ma se siete alla ricerca di - Routing (pub/sub) - allentato mittente accoppiamento & ricevitore - Carico di livellamento Allora dovresti assolutamente andare a cercare messaggi.

Se si desidera rendere il servizio facilmente raggiungibile per il mondo esterno, il servizio di inoltro è tuo amico.

+0

Non sono sicuro che questa risposta sia migliore di quella inferiore. Anche se sincrono vs asincrono sembra ok, non c'è alcun collegamento per il supporto e non sono un confronto da mela a mela. Uno sembra essere il servizio, un altro memorizza i messaggi e offre il servizio di messaggistica. Vorrei che questa risposta fosse la seconda, rispetto alla prima, perché la seconda è più completa. Solo un pensiero, potrebbe aiutare gli altri a vedere di seguito prima, se questa continua ad essere la prima risposta in futuro. –

Problemi correlati