Pregunta

Al no haber utilizado MSMQ antes, no estoy en todos los requisitos claros de un entorno del cliente para utilizarlo.

Estoy diseñando una solución cliente / servidor que se integrará con un sistema heredado y estoy vendido en la mensajería. Me gustaría utilizar una aplicación bus de servicios como MassTransit, pero que requiere MSMQ.

¿Hay que asegurarse de que cada PC cliente ha instalado MSMQ en él?

No creo que mis posibilidades de vender esto a los guardianes de La contraseña de administrador son muy buenos.

Ahora mismo puede esperar de forma fiable cada máquina cliente tenga instalado Windows XP Professional, pero eso podría cambiar y mi opinión es que MSMQ no se instala por defecto en la más reciente de sistemas operativos, lo que sería un dolor de cabeza aún más grande.

¿Alguien puede dilucidar para mí cómo funciona esto? No me puedo imaginar cómo cualquier software comercial puede depender de MSMQ a menos que me falta algo significativo (espero que soy).

(El servidor no es un problema -. Tengo plena de control allí)

¿Fue útil?

Solución

Para responder a su pregunta básica. Si. Cada PC tendría que tener el servicio MSMQ en ejecución. No creo que MSMQ está destinado para un tipo de usuario general de software, pero para la empresa .. comunicación de servidor a servidor. Desde luego, podría estar equivocado, pero con la limitación que está planteando, no veo cómo podría ser utilizado para el software comercial tampoco.

Otros consejos

Un ESB (o incluso una opción ligera como MassTransit o NServiceBus) no es realmente diseñado para la comunicación cliente / servidor. Si usted tiene una aplicación cliente que necesita comunicarse con los servicios de back-end, puede ser más sensible a construir un SOAP y / o capa de descanso que los clientes se comunican con su lugar. Detrás de esa capa de servicio, se puede utilizar la mensajería interna dependiendo de sus requerimientos de escala. La mensajería es muy útil para hacer frente a las cargas altamente dinámicos, junto con otras tecnologías como el almacenamiento en caché.

Si usted quiere hacer la mensajería en el cliente, es posible considerar el uso de un sistema de mensajería de estilo intermediario (ActiveMQ encaja aquí, es una red TCP normal / conexión IP) y conectarse a él desde el cliente. Es una manera de hacerlo, no necesariamente la mejor manera dependiendo de su situación. MassTransit puede utilizar ActiveMQ, lo que le permite abstraer la API de programación de MSMQ / ActiveMQ en una interfaz de transporte más universal.

Hay muchas opciones en el diseño de sistemas distribuidos, si usted necesita o no la comunicación de cliente a cliente frente a la comunicación entre el cliente y el servidor realmente puede ayudar a diferenciar las opciones tecnológicas diferentes.

La respuesta, desde mi experiencia, es la siguiente: Cuando se utiliza MassTransit, el uso RabbitMQ y no msmq. cf MassTransit: ¿Puede utilizar el servidor msmq central? (O debería comenzar w / RabbitMQ desde el principio?)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top