rabbitmq amqp qpid

rabbitmq - ¿Dónde están las implementaciones de AMQP 1.0? ¿Tendría sentido esperar?



qpid (6)

AMQP 1.0 es una alternativa a AMQP 0-9-1 en nombre solamente. Los dos son tan diferentes que podría haber sido más claro darles nombres diferentes.

Elegir una implementación actual de 0-9-1 no te limita a ti:

0-9-1 define un intermediario y un modelo de mensajería, mientras que 1.0 define un transporte de mensajería. Por lo tanto, es posible combinar el transporte AMQP 1.0 con 0-9-1, como lo demostró RabbitMQ en la conferencia AMQP 1.0 en NYC en 2011. Debido a que es un transporte, AMQP 1.0 también se puede adjuntar a dispositivos de propiedad y / o cerrados. corredores libres de derechos.

AMQP 1.0 acaba de ingresar en "un período de revisión pública de 60 días en preparación para que una boleta de un miembro considere su aprobación como un estándar de OASIS".

"La revisión pública de 60 días comienza el 14 de agosto de 2012 y finaliza el 13 de octubre de 2012.

Esta es una invitación abierta a comentar. "OASIS solicita comentarios de usuarios potenciales, desarrolladores y otros, ya sean miembros de OASIS o no, para mejorar la interoperabilidad y la calidad de su trabajo técnico".

Todos los detalles aquí:

https://www.oasis-open.org/news/announcements/60-day-public-review-for-advanced-message-queueing-protocol-amqp-v1-0-candidate-o

Estoy haciendo una investigación para descubrir qué solución de mensajería se debe establecer para nuestros futuros productos y realmente no puedo resolver esto.

Hay un montón de implementaciones de AMQP 0.9.1 (RabbitMQ, Apache Qpid, OpenAMQ, por nombrar algunas), pero no hay implementación de AMQP 1.0, aunque 1.0 se finalizó en octubre de 2011. Bueno, excepto SwiftMQ [1].

Al leer 1.0, parece ser una gran desviación de la especificación anterior a la 1.0, por lo que parece comprensible que haya poco entusiasmo por una reescritura importante de algo que funciona bien. De hecho, no puedo ver por qué RabbitMQ y otros no solo deciden migrar a ZeroMQ en lugar de AMQP 1.0.

Sin embargo, no puedo encontrar ninguna declaración clara al respecto por parte de los implementadores de la especificación AMQP anterior a 1.0, excepto algunos compromisos vagos como "esforzarse por implementar siempre la especificación AMQP más reciente".

Edit: RabbitMQ realmente dice

Una futura versión de RabbitMQ implementará AMQP 1.0. Por favor, contáctenos para más detalles.

Sin embargo, something me dice que la declaración tiene más de 3 años, es decir, es anterior al lanzamiento de AMQP 1.0.

Entonces, ¿hay alguna indicación de que AMQP 1.0 pueda convertirse en un estándar, excepto por el hecho de que los principales bancos, y Microsoft, están detrás de esto? Este último por cierto. sin una implementación propia.

Parece que AMQP 0.9.1 es más estándar de lo que será 1.0.

Bueno, hay https://github.com/rabbitmq/rabbitmq-amqp1.0 , su estado autoproclamado es un prototipo , sin trabajo aparentemente durante medio año.

[1] Mi primera impresión de SwiftMQ la obtuve a través de la perorata de su autor sobre la falta de soporte de AMQP de Spring , por lo que no lo estoy considerando por el momento. No quisiera contar con el apoyo de ese tipo.


El estándar OASIS AMQP 1.0 fue ratificado esta semana, consulte https://www.oasis-open.org/news/pr/amqp-1-0-approval . En cuanto a las implementaciones 1.0, aún es un poco pronto y sé que hay muchos desarrollos en marcha, pero a partir de ahora, aquí hay una lista de componentes disponibles:

Corredores

Bibliotecas cliente:


Hay otras implementaciones 1.0. La próxima versión de Qpid (probablemente disponible en las próximas semanas) tendrá soporte 1.0 para el cliente JMS y el intermediario de Java. El trabajo sobre la compatibilidad con 1.0 para otros componentes está en marcha (destinado a la versión posterior) y se basa en la nueva biblioteca de protones, que está diseñada para ser utilizada como una forma sencilla de agregar compatibilidad con 1.0 a los corredores existentes u otros sistemas que se beneficiarían de 1.0 soporte. Por lo tanto, el proyecto Qpid está comprometido con un soporte total de 1.0 que eventualmente reemplazará todas las versiones anteriores. Las API se han diseñado para facilitar la transición a 1.0.


Lo más reciente que pude encontrar en términos de declaración del equipo de RabbitMQ , que, de acuerdo con su página de especificaciones something también

es un participante activo en el Grupo de trabajo de AMQP, cuyo objetivo es entregar un borrador de AMQP 1.0 implementable este año.

es este mensaje de Simon MacMullen de RabbitMQ de enero de 2012 (puntos suspensivos, énfasis, mío):

Además, ¿por qué RabbitMQ consideraría no admitir 1.0? ¿Es el pensamiento de que no puede ver la adopción de la industria, o algo más?

[..] es una diferencia tan grande de 0-9-1 que realmente lo veo como un protocolo diferente , a pesar del nombre. [..]

Así que sí, me gustaría apoyarlo, pero también me gustaría apoyar MQTT y SQS y [..]

Y puede que no vea mucha adopción por parte de la industria , [..] Y sin querer quejarse demasiado, es bastante pesado y complicado , por lo que, para apoyarlo adecuadamente, estaríamos viendo no hacer muchas otras cosas que queremos .

Por supuesto, si AMQP 1.0 despega sustancialmente, entonces eso podría cambiar las cosas .

Fuente: https://groups.google.com/d/topic/rabbitmq-discuss/9Hj0FzgyLQk/discussion


Según http://geekswithblogs.net/michaelstephenson/archive/2012/08/12/150399.aspx :

Actualmente, AMQP no es compatible con Service Bus en las instalaciones o en la nube. Sin embargo, hay una transmisión por Internet que explica la posición de Microsoft en AMQP y suena como una característica importante que se espera en una versión futura.

Asi que:

¿Tendría sentido esperar?

Supongo que es justo decir que la respuesta es: No.

  • MS aún no está allí a pesar de todo el entusiasmo inicial, y no pude encontrar ninguna mención de AMQP en el anuncio y en la documentación del Service Bus for Windows Server Update recientemente publicado : hay noticias sobre MS, consulte la respuesta de David Ingham.
  • the upcoming Qpid release (probably available in the next couple of weeks) will have 1.0 support for the JMS client and the Java broker , eso fue hace 11 semanas. Las predicciones, por supuesto, son difíciles de hacer, pero de hecho, todavía no están aquí.

Entonces, a excepción de SwiftMQ, no hay ninguna implementación de AMQP 1.0 que funcione, y no hay mucho entusiasmo, a juzgar por los anuncios y declaraciones recientes. Espero que Qpid haga el lanzamiento pronto, después de todo, los reclutadores 1.0 son miembros del proyecto, pero si no, sería como el último clavo en el ataúd.

En cualquier caso, AMQP 1.0 no se adopta ampliamente y no hay indicios confiables de que se convierta en un futuro previsible.


Triste, pero especialmente el apoyo es algo en lo que puedes confiar. ;-)

Para responder a su pregunta si tiene sentido esperar: ¡SÍ! ¿Por qué? Echa un vistazo a http://qpid.apache.org/proton/ .

Proton se basa en el estándar de mensajería AMQP 1.0.