2010-06-30 11 views
14

Estamos trabajando en una aplicación que admite AMQP para hacer cola. Algunos de nuestros clientes usan Websphere MQ. Me pregunto a un alto nivel qué tan intercambiables son estos dos protocolos en términos de funcionalidad. Estoy usando celery, lo que debería permitirme abstraer las cosas de nivel inferior siempre que pueda escribir un servidor Websphere MQ. Lo que estoy tratando de descubrir es cuán difícil será este desafío.AMQP contra Websphere MQ

¿Websphere MQ proporciona un superconjunto de la funcionalidad de AMQP? ¿Alguno tiene alguna "característica" que pueda dificultar mi vida?

Respuesta

10

Actualización 23 de junio de el año 2015
IBM ha anunciado MQ Light que es la aplicación de AMQP. su Statement of Direction dice que tienen la intención de ofrecer características para permitir que los programas diseñados para ejecutarse en MQ Light se ejecuten en MQ en algún momento en el futuro, pero aún no se ha anunciado cuándo será. MQ Light está en beta abierta a partir de este escrito.


cargas útiles Cómo moverse entre estos sistemas será relativamente sencillo con una aplicación de puente simple que lee fuera de un sistema y escribe a la otra. Ambos tienen colas y temas y es posible un enrutamiento explícito.

Las partes interesantes incluyen conceptos tales como la diversión ...

  • Mapeo de respuesta a destinos. Destinos de respuesta especialmente dinámicos.
  • Transaccionalidad
  • Cualquier tipo de enrutamiento más complicado que "recoger de esta cola/tema, puso a éste. Por ejemplo, una puerta de enlace que las rutas a múltiples destinos basan en nombre de la cola.
  • de seguridad a nivel de mensajes.
  • identidades de correlación para la seguridad a nivel de conexión
  • Sin posibilidad de cifrado de mensajes de extremo a extremo

Así que si todo lo que necesita es del orden de "obtener de AMQP:.. queueA, poner a WMQ: QUEUEB "y transactiona lity no es importante, deberías tener un tiempo fácil de hacerlo. Más allá de eso, depende exactamente de lo que quieras hacer.

+0

Probablemente debería publicar una pregunta, pero ¿cuál es el transporte nativo de IBM Web MQ? Pensé que era MQTT, pero aparentemente eso fue algo reciente que agregaron. –

+3

Es un protocolo de cable patentado. Como regla, me gustan los estándares abiertos, pero una de las ventajas de WMQ es que IBM puede cambiar el protocolo de conexión según sea necesario. Entonces, cuando querían compartir varias conexiones en un único socket y agregar la transmisión de lectura anticipada como mejoras de rendimiento, pudieron hacerlo fácilmente, aunque eso significó cambiar los formatos de conexión. Enorme impacto en el rendimiento con estos. Si hubieran publicado el protocolo, esto hubiera sido MUCHO más difícil de hacer. Sin embargo, con más asincronización en la red abierta, puede ser necesario admitir un protocolo abierto o publicar MQ en algún momento. –

1

IBM MQ now supports AMQP 1.0 clients (incluidos los clientes existentes de IBM MQ Light) mediante la introducción del canal AMQP en MQ 8.0.0.4.

+0

¿Puedo usar la función de canal AMQP en 8.0.0.4 para integrar IBM MQ con otros productos AMQP como RabbitMQ? – sijo0703

+1

sospecho que probablemente no. RabbitMQ es compatible con el protocolo AMQP 0.9, mientras que IBM MQ es compatible con AMQP 1.0. Las dos versiones de protocolo son lo suficientemente diferentes como para no ser intercambiables. Incluso si ambos usaran el mismo nivel de protocolo, ninguno de los productos tiene la capacidad de conectarse como un cliente al servidor de otro proveedor, eso es algo que yo sé. Supongo que es posible escribir una aplicación cliente que use AMQP 0.9 para interactuar con un servidor RabbitMQ y AMQP 1.0 para interactuar con un gestor de colas de IBM MQ, utilizando dicha aplicación para actuar como un puente entre los dos. – LaurenceBonney

Cuestiones relacionadas