Para resumir, estoy trabajando en un proyecto en el que estamos reescribiendo una gran aplicación web por todos los motivos habituales. El objetivo principal de la reescritura es separar esta gran aplicación única que se ejecuta en un solo servidor en muchas aplicaciones desacopladas más pequeñas, que se pueden ejecutar en muchos servidores.Mensajería, colas y ESB's - Sé dónde quiero estar pero no cómo llegar
autorización aquí es lo que me gustaría:
me gustaría HTTP
ser el principal mecanismo de transporte. Cuando una aplicación, por ejemplo, el CMS se ha actualizado entrará en contacto con el agente a través de http y decir "I've changed"
, entonces el agente devolverá un 200 OK
decir "thanks I got the message"
.
Luego, el intermediario buscará en la lista de otras aplicaciones que deseaba escuchar acerca de los cambios del CMS y pasar el mensaje a la url que dejó la aplicación cuando le dijo al agente que deseaba escuchar sobre el mensaje.
Las otras aplicaciones devolverán 200 OK
cuando reciban el mensaje, si no es así, el intermediario conservará el mensaje y lo pondrá en cola la próxima vez que alguien intente ponerse en contacto con esa aplicación.
El problema es que ni siquiera sé por dónde empezar o qué necesito para que suceda. He estado buscando en XMPP, ActiveMQ, RabbitMQ, Mule ESB etc., y puedo ver que podía pasar el año que viene dando vueltas en círculos con esta materia.
¿Alguien podría ofrecer algún consejo de la experiencia personal ya que me gustaría evitar aprender las lecciones de la manera difícil?
Otro voto para OpenMQ de mí. Las historias de éxito en http://blogs.sun.com/alexismp/entry/openmq_the_untold_story son bastante impresionantes. – mjn