2012-04-09 22 views
6

¿Hay alguna manera de cómo enviar datos a RabbitMQ desde $ .ajax?API REST para rabbitmq

Mi aplicación se compone de varios miles de clientes web (escritos en js) y el servicio WCF REST y ahora estoy tratando de averiguar cómo puedo crear un punto escalable para mi aplicación. La idea es tener una instancia rabbitmq que reciba mensajes de clientes js colocados en un lado, e instancias de WCF Workflow Services que están recibiendo mensajes pendientes de la cola.

Entiendo que AMQP y HTTP son cosas muy diferentes.

Así que la pregunta es - ¿Existe una interfaz REST para mq conejo o una especie de puerta de entrada para que

Respuesta

4

Hay muchos complementos HTTP de terceros enumerados en RabbitMQ's developer tools page, y también ofrecen un experimental JSON-RPC plugin que permite el acceso AMQP a través de HTTP.

También debe echar un vistazo a RabbitJS y SockJS para ver lo que está haciendo el equipo Rabbit para llevar la mensajería a los mundos de node.js y WebSockets, respectivamente.

0

Sí. El complemento rabbitmq_jsonrpc_channel que puede buscar en RabbitMQ Plugins

Parece que proporciona AMQP a través de HTTP con JSON.

1

El RabbitMQ RESTO documentación de la API para la liberación 3.4.3 se puede encontrar aquí:

http://hg.rabbitmq.com/rabbitmq-management/raw-file/rabbitmq_v3_4_3/priv/www/api/index.html

También permite publicar mensajes, además de las tareas de gestión.

Nota importante de la documentación vinculada:

Tenga en cuenta que las rutas de publicar/get en la API HTTP están destinados para inyectar mensajes de prueba, diagnóstico, etc - que no aplicar entrega confiable y así que si ser tratado como una herramienta de administrador de sistemas más bien que una API general para mensajes.

+3

Lo que señaló anteriormente es la API de HTTP del complemento de administración RabbitMQ, que es esencialmente una API RESTful. Sin embargo, no implementa la entrega confiable de mensajes, por lo que probablemente no sea una buena idea usarlo en los sistemas de producción. Aquí está la cita: "Tenga en cuenta que las rutas de publicación/obtención en la API HTTP están destinadas a inyectar mensajes de prueba, diagnósticos, etc. No implementan la entrega confiable y deben tratarse como una herramienta de administrador de sistemas en lugar de una API general para mensajes. " – Devy