.net - servicios - Implementando una arquitectura de bus de mensajes
service bus soa (3)
El agente de mensajes Apache ActiveMQ (fuente abierta) también tiene un cliente .NET:
Junto con Apache Camel y Apache ServiceMix, los patrones de integración empresarial y los sistemas de bus de servicio empresarial son fáciles de configurar.
Actualmente estoy haciendo análisis y diseño para una nueva arquitectura de bus de mensajes en mi empresa. He intentado hacer MSMQ para hacer algo como esto en el pasado y funciona bien y estaba pensando en hacer lo mismo otra vez para este proyecto pero usando WCF como la API en lugar de usar la API de mensajes del sistema. ¿Alguien ha tenido experiencia con MSMQ en WCF? ¿Es más fácil de usar que la API System.Messaging? ¿Cuáles serían algunos de los beneficios de usar WCF sobre el sistema.Messaging o viceversa?
Lo siento, llegando muy tarde a esto, pero espero que mi respuesta sea útil.
Tanto WCF Queuing como System.Messaging son envoltorios de las API de MSMQ. WCF es más sofisticado y complejo, pero tiene los siguientes beneficios:
- Una vista OO de los procesos de negocio de su aplicación en lugar de su plomería de comunicación.
- Cifrado y autenticación de mensajes de extremo a extremo de forma gratuita. System.Messaging solo admite el cifrado en el cable, no en la tienda.
- Si lo desea, puede alojar dentro de IIS en lugar de crear su propio host personalizado.
- Correlación de mensajes de forma gratuita. Esto le permite agrupar mensajes en sesiones automáticamente.
- Procesamiento por lotes transaccional gratis.
En mi humilde opinión, con tantas arquitecturas de bus buenas, flexibles y probadas para elegir ( NServiceBus , Mass Transit , Rhino Service Bus ), implementar el suyo sería un gran NIH . No es una tarea trivial.
Udi lo describe muy bien en este mensaje .