2008-11-03 12 views
11

Estoy desarrollando un conjunto de aplicaciones que trabajan juntas para crear un sistema para procesar datos de medición. Hay varias razones por las que quiero que se acoplen poco y el sistema sea extensible por terceros, por lo que las aplicaciones se vincularán mediante mensajes.¿Sistema de mensajería multiplataforma en varios idiomas?

Estoy buscando un sistema de mensajería que ofrezca enlaces en (al menos) C#, Java y Python y admita patrones de mensajes como Publish-Subscribe, Guaranteed Delivery, Selective Consumer (como Peek en .Net Messaging).

Por lo que pude averiguar, no hay nada de malo con JMS o .Net Messaging, es solo que son solo para .Net/Java.

El sistema debería darme el control sobre qué mecanismo de transporte (Sockets, Message Queues, etc.) usará al configurar un canal. Quiero poder escalar a máquinas remotas y agilizar las cosas con las instalaciones de transporte locales.

Si no puedo encontrar nada adecuado, tendré que hacer el mío. Probablemente usaría los búferes de protocolo de Google para la serialización. Si alguien tiene otras recomendaciones para las opciones de tecnología, ignórelas.

Oh, sí, y me gustaría tener un cifrado opcional por canal o por mensaje.

ETA: Gracias por todas las respuestas rápidas. Estoy trabajando en la propaganda docs & ahora. ¿Alguien ha usado las tecnologías a continuación, y para qué/con qué resultados?

Respuesta

2

SonicMQ puede ser una herramienta que está buscando. Sé que son muy proclives a Progress, pero que también apoyan otras alternativas lingüísticas y son un actor líder en el sector de la mensajería.

Sonic Software

1

¿Ha considerado MPI?

1

Se podría utilizar un ESB (Enterprise Service Bus) como Mule. La idea es que envíe sus mensajes al autobús de la manera que desee (JMS, http, correo electrónico) y el autobús hará el enrutamiento por usted. No sé si hay enlaces .NET, pero incluso si no hay ninguno disponible, puedes construir el tuyo usando un mecanismo de extensión. Por supuesto, esto significa que debe configurar un autobús en alguna parte.

1

Si quiere una sólida compatibilidad comercial y de integración con prácticamente cualquier cosa, la serie MQ de IBM, ahora Websphere MQ, le ofrece todas las funciones descritas en sus requisitos.

A veces se hace conseguir lo que se paga ... ;-)

2

Como Pablo mencionó, tratar ActiveMQ que permite muchos clientes de lengua y protocolos de alambre.

BTW ActiveMQ 6.x probable que use tampones de protocolo de Google como uno de sus hilos subyacente transporta :)

He usado Apache ActiveMQ en muchos proyectos de gran éxito. Es el mostpopular y el poderoso intermediario de mensajes de código abierto en la actualidad.

cierto en .Net/C# proyecto ActiveMQ ha creado el NMS API que es una API estándar para la comunicación con intermediarios de mensajes sobre la plataforma .NET que ahora se integran en Spring.Net

0

Open Message Queue (Open MQ) se incluye en la aplicación del servidor GlassFish y también corre solo. Se inicia en unos segundos y es compatible con el cliente Java y C. El soporte de Stomp se encuentra actualmente en desarrollo en la versión 4.4.

Cuestiones relacionadas