Domanda

Non Avendo utilizzato MSMQ prima, io non sono affatto chiaro i requisiti di un ambiente client di usarlo.

Sto progettando una soluzione client / server che si integri con un sistema legacy e sono venduti sulla messaggistica. Mi piacerebbe usare un'implementazione autobus servizio come MassTransit, ma che richiede MSMQ.

Devo garantire che ogni PC client ha installato MSMQ su di esso?

Non credo che le mie prospettive di vendita di questo per i custodi di la password di amministratore sono molto buone.

In questo momento posso aspettarmi in modo affidabile ogni macchina cliente di avere installato Windows XP Professional, ma che potrebbe cambiare e la mia comprensione è che MSMQ non è installato di default su recenti sistemi operativi più, il che sarebbe un mal di testa ancora più grande.

Qualcuno può spiegare a me come funziona? Non riesco a immaginare come qualsiasi software commerciale può contare su MSMQ a meno che non mi manca qualcosa di significativo (spero io sono).

(il server non è un problema -. Ho il pieno controllo lì)

È stato utile?

Soluzione

Per rispondere alla tua domanda di base. Sì. Ogni PC dovrebbe avere il servizio in esecuzione MSMQ. Non credo che MSMQ è pensato per una sorta utente generale di software, ma per le imprese .. server per comunicazione server. Potrei certamente sbagliato, ma con la limitazione che si sta chiedendo circa non vedo come potrebbe essere utilizzato per il software commerciale sia.

Altri suggerimenti

Un ESB (o anche un'opzione leggera come MassTransit o NServiceBus) è in realtà non progettato per la comunicazione client / server. Se si dispone di un'applicazione thick client che ha bisogno di comunicare con i servizi di back-end, può essere più sensibile per costruire un SOAP e / o strato di REST che i client comunicano con invece. Dietro quel livello di servizio, è possibile utilizzare la messaggistica a seconda delle vostre esigenze internamente di scala. Messaging è molto utile per trattare con carichi altamente dinamici, insieme ad altre tecnologie quali il caching.

Se si vuole fare di messaggistica sul client, si potrebbe considerare l'utilizzo di un sistema di messaggistica stile mediatore (ActiveMQ si adatta qui, si tratta di un protocollo TCP regolare / connessione IP) e connettersi ad esso da parte del cliente. E 'un modo per farlo, non è necessariamente il modo migliore a seconda della situazione. MassTransit può usare ActiveMQ, che consente di astrarre l'API di programmazione di MSMQ / ActiveMQ in un interfaccia di trasporto più universale.

Ci sono molte opzioni quando si progettano sistemi distribuiti, anche se non avete bisogno di comunicazione client-to-client contro la comunicazione client-server può davvero aiutare a differenziare le varie opzioni tecnologiche.

La risposta, dalla mia esperienza, è: quando si utilizza masstransit, uso RabbitMQ e non MSMQ. cf Masstransit: Può utilizzare il server MSMQ centrale? (O dovrei iniziare w / RabbitMQ dall'inizio?)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top