0

我在云上有一个 RabbitMQ 实现的队列,我编写了一个 Node.JS 接收器和发送器,它基本上将从队列发送和接收消息。我基本上点击了队列的 uri 并创建了一个连接。

我的问题是:由于我的接收器位于防火墙后面而不是任何公共 IP,队列如何将消息发送到我的队列?它使用什么技术将消息发布到我的队列?我的接收器是否在不断地轮询队列?

4

1 回答 1

0

由于我还没有找到这个问题的任何答案,这是我根据 RabbitMQ 文档的观察。

在大多数应用程序中,当队列不在系统之外并且可以访问时,实现观察者模式是正确的想法。

在我的情况下,当队列在系统之外(在云上)时,接收器代码会轮询队列中的任何消息,来自 RabbitMQ 站点的示例代码证实了这一点。

while (true) {
    QueueingConsumer.Delivery delivery = consumer.nextDelivery();
    String message = new String(delivery.getBody());

    System.out.println(" [x] Received '" + message + "'");
}

可能还有其他一些相同逻辑的实现..

于 2013-05-01T08:21:06.673 回答