Nginx 对 RabbitMQ 的请求

问题描述

Nginx 是否可以将传入的 HTTP 请求放入 RabbitMQ 中的“请求”队列并侦听“响应”队列中的响应?通过这种方式,API 客户端可以通过对失败消息的重试机制使后端崩溃不可见。

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

如果不可能这样做,这不是可取的,还是我需要监督?

解决方法

RabbitMQ 不支持那样的 HTTP。 HTTP 不是 AMQP、STOMP 等消息协议。您不能简单地将 HTTP 请求推送到消息队列中。