Question

Ayant pas utilisé MSMQ avant, je ne suis pas du tout clair d'exigences de l'environnement du client à l'utiliser.

Je suis la conception d'une solution client / serveur qui intégrera un système hérité et je suis vendu sur la messagerie. Je voudrais utiliser un service de bus mise en œuvre comme MassTransit, mais qui nécessite MSMQ.

Dois-je assurer que chaque PC client a MSMQ installé là-dessus?

Je ne pense pas que mes chances de vendre ce aux gardiens de Le mot de passe Administrateur sont très bons.

En ce moment je peux attendre de manière fiable chaque poste client pour que Windows XP Professionnel, mais cela pourrait changer et je crois comprendre que MSMQ est pas installé par défaut sur les systèmes d'exploitation plus récents, ce qui serait un casse-tête encore plus.

Quelqu'un peut-il expliquer pour moi comment cela fonctionne? Je ne peux pas imaginer comment un logiciel commercial peut compter sur MSMQ à moins que je me manque quelque chose d'important (j'espère que je suis).

(Le serveur est pas un problème -. J'ai là le plein contrôle)

Était-ce utile?

La solution

Pour répondre à votre question de base. Oui. Chaque PC devrait avoir le fonctionnement du service MSMQ. Je ne pense pas que MSMQ est destiné à une sorte d'utilisateur général du logiciel, mais pour les entreprises .. serveur communication de serveur. Je pourrais certainement me tromper, mais avec la limitation que vous demandez au sujet que je ne vois pas comment il pourrait être utilisé pour des logiciels commerciaux soit.

Autres conseils

Un ESB (ou même une option légère comme MassTransit ou NServiceBus) est vraiment pas conçu pour la communication client / serveur. Si vous avez une application client lourd qui a besoin de communiquer avec les services de back-end, il peut être plus judicieux de construire un SOAP et / ou la couche REST que les clients communiquent avec la place. Derrière cette couche de service, vous pouvez utiliser la messagerie interne en fonction de vos besoins de mise à l'échelle. La messagerie est très utile pour faire face à des charges très dynamiques, ainsi que d'autres technologies telles que la mise en cache.

Si vous voulez faire des messages sur le client, vous pouvez envisager d'utiliser un système de messagerie de style courtier (ActiveMQ correspond ici, il est une connexion TCP / IP régulière) et connecter à partir du client. Il est une façon de le faire, pas nécessairement la meilleure façon en fonction de votre situation. MassTransit peut utiliser ActiveMQ, vous permettant de faire abstraction de l'API de programmation de MSMQ / ActiveMQ dans une interface de transport plus universel.

Il existe de nombreuses options lors de la conception des systèmes distribués, si vous avez besoin d'une communication client-à-client par rapport à la communication client-serveur peut vraiment aider à différencier les différentes options technologiques.

La réponse de mon expérience, est: Lorsque vous utilisez masstransit, l'utilisation rabbitmq et non MSMQ. cf Masstransit: Peut-il utiliser un serveur MSMQ central? (Ou devrais-je commencer w / RabbitMQ dès le départ?)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top