school example curso crear colombia cola java jms

java - example - ¿Qué implementación JMS usas?



jms java 8 (10)

Confiamos en AMQ (5.1) a través del marco Camel, y no ha habido ningún problema. AMQ 4 era un poco más sospechoso.

Estamos utilizando ActiveMQ 5.2 como nuestra implementación de elección y lo elegimos hace un tiempo. Funciona lo suficientemente bien para nuestro uso en este momento. Desde hace un tiempo, me preguntaba qué otras implementaciones de Java Message Service están en uso y por qué. Seguramente hay más de unos pocos.


En uno de los proyectos recientes en los que estuve, utilizamos Sonic MQ . Buena implementación general con buenas conexiones a .NET.

Tuvimos algunos problemas de escalabilidad, pero tengo que admitir que los requisitos de escalabilidad eran muy estrictos: si puedo recordar correctamente, algo así como 20,000 líos por segundo sin retrasos permitidos entre los 200 clientes diferentes (cada cliente tenía que recibir cada mensaje al mismo tiempo).


He usado JBossMQ, que viene con el servidor de aplicaciones JBoss hasta la versión 4, y que es sólido pero limitado. JBoss Messaging fue el reemplazo, viene con JBossAS 5 y es una gran mejora.

ActiveMQ realmente me desagrada. Los desarrolladores parecen haber optado por el rendimiento y las funciones en detrimento de la estabilidad, y es increíblemente problemático. Dado que es el tejido JMS para Gerónimo, me preocupa.


TIBCO EMS . Es un servicio de mensajes comerciales con Java / JMS, C, .net y otras vinculaciones para él.



Proveedor WebLogic JMS cuando se usa WebLogic. Funciona genial.


He usado ActiveMQ en producción durante un par de años, pero nunca me gustó su estabilidad (especialmente con la capacidad de clúster). Nunca miró hacia atrás después de cambiar a OpenMQ. Es posible que desee buscar en RabbitMQ o ZeroMQ.



Estamos utilizando SonicMQ, JBossMQ y el "micro broker" de Lotus Expeditor Integrator. Los estamos usando para diferentes propósitos:

-JBossMQ se usa internamente y para comunicarnos con todas nuestras aplicaciones Java EE que se ejecutan en JBoss. -Lotus Expeditor se usa en "sitios remotos" donde solo tenemos recursos limitados y personal de TI -SonicMQ es nuestra red troncal de mensajería, la usamos para conectar sistemas centrales, pero también para conectar sistemas remotos en aprox. 1000 sitios.

Estamos teniendo buenas experiencias con todos ellos, pero nuestra experiencia también es que con un entorno más complejo debe hacer una administración más activa del sistema de mensajería. Esto se hizo especialmente cierto con SonicMQ en nuestro sitio :-). Desde la perspectiva del rendimiento, hicimos las mejores experiencias con SonicMQ, especialmente en la mensajería persistente basada en cola.


Antes de profundizar en JMS, considere AMQP también, podría ser un nuevo estándar. Proveedores de JMS con los que trabajé (en diversos grados):

TIBCO EMS: muy rápido y robusto, buen soporte de API, Java amigable, C API nativa existe. La mejor opción comercial que he usado.

Websphere MQ (y su implementación JMS) - entonces, entonces. Pub / sub no exactamente rápido, muchas opciones de configuración y opciones son "extrañas" y demasiado complejas a partir de la larga historia de ese producto. Solo mira la cantidad de documentación ...

Solace JMS: rendimiento muy elevado (el intermediario JMS está integrado en hardware), buenas opciones de protocolos de conexión (MQTT, AMQP, XML sobre http como protocolos de administración)

Fiorano MQ: solía ser agresivo en marketing pero perdió mucha cuota de mercado, preocupaciones de madurez

Sonic MQ: producto sólido, también es compatible con una API de C

Active MQ: si desea utilizar un producto de código abierto (soporte económico, gran comunidad, productos complementarios limitados, funciones empresariales limitadas), esta es probablemente su mejor opción. Funciona de la caja y es la columna vertebral de varias herramientas como Apache Camel, por ejemplo.