Search code examples
nginxrabbitmqmessage-queueamqp

Nginx Requests to RabbitMQ


Is it possible for Nginx to put incoming HTTP requests into a "requests" queue in RabbitMQ and listen to responses on a "response" queue? This way, backend crashes could be made invisible to the API client by having a retry mechanism for failed messages.

+------------+                    +--------+               +-----------+              +-----------+
| API Client |  ---------->       | Nginx  |  ---------->  | RabbitMQ  |  <---------- | Worker    |
+------------+                    +--------+               +-----------+              +-----------+

In case it is not possible to do so, wouldn't this be desirable or do I oversee something?


Solution

  • RabbitMQ doesn't support HTTP like that. HTTP is not a messaging protocol like AMQP, STOMP, etc. You can't simply push HTTP requests into a messaging queue.