Estoy trabajando en un sistema de mensajes/notificación para nuestros productos. Los requisitos básicos son:Multidifusión, Mensajes, ActiveMQ vs. MSMQ?
- dispara y olvida
- conjunto persistente de mensajes, posiblemente la actualización, para permanecer allí hasta que el remitente dice que para eliminarlos
Las bibliotecas serán escritos en C#. Spring.NET acaba de lanzar una compilación de hitos con una gran cantidad de abstracción agradable de mensajes, que es genial, planeo usarla extensamente. Mi pregunta básica se reduce a la cuestión de los intermediarios de mensajes. Mi arquitectura se parecerá a la aplicación -> Message Broker queue -> aplicación de servidor que escucha, envía todos los mensajes a donde necesitan ir y maneja el ciclo de vida de esos mensajes de larga duración -> message broker queue o topic -> listening aplicaciones.
Finalmente, la pregunta: ¿Qué agente de mensajes debería usar? Estoy predispuesto hacia ActiveMQ - Lo usamos en nuestro último proyecto y nos encantó. Realmente no puedo pensar en un solo ataque contra él, excepto que es Java, y requerirá que java esté instalado en un servidor en alguna parte, y eso podría ser difícil para algunas de las personas que usarán este servicio. La otra opción que he estado viendo es MSMQ. Estoy predispuesto en contra de ella por algún motivo desconocido, y tampoco parece tener un gran soporte de multidifusión.
¿Alguien ha usado MSMQ para algo como esto? ¿Algún pros o contra, cosas que puedan influir en el voto de una forma u otra?
Una última cosa, estamos usando .NET 2.0.
MSMQ: los elementos de la cola solo se guardan en el disco si está utilizando mensajes duraderos. Supongo que lo mismo vale para ActiveMQ. –