NAT环境中的rabbitmq

NAT环境中的rabbitmq,rabbitmq,Rabbitmq,我有一个分布式系统,具有客户机-服务器样式,如下所示: 1.Server A deployed on Cloud 2.Many Client C1-CN deployed in customer ENV,which may be behind NAT. 3.Server A need to Notify Client to do some operations. 我已经对RabbitMQ进行了一些调查,基本上我想知道它是否可以作为: 1.Server A publish event to Ra

我有一个分布式系统,具有客户机-服务器样式,如下所示:

1.Server A deployed on Cloud
2.Many Client C1-CN deployed in customer ENV,which may be behind NAT.
3.Server A need to Notify Client to do some operations.
我已经对RabbitMQ进行了一些调查,基本上我想知道它是否可以作为:

1.Server A publish event to RabbitMQ queue(each queue for each client)
2.Once event published, Client will get notified and do some operations by parse the message?

如果我理解正确,您有许多客户端程序需要通知。这些客户端将位于防火墙后面,因此您无法从服务器直接连接到它们


是的,RabbitMQ可以工作。在您的服务器上设置它,并确保可以通过internet访问它(您必须在防火墙中打开端口5762。请确保与MQ服务器的连接具有一定的安全性,以便只有您想要的客户端可以连接到该服务器。然后,您将向MQ服务器发布消息,可能是向负责将消息分发到队列的交换机发布消息。您的客户端将连接到RabbitMQ并使用一个队列。他们应该在一个线程中使用,该线程将等待消息传入并根据需要处理它们。

@robthewolf,谢谢。是的。我的RabbitMQ服务器将驻留在公共服务器上,但客户端驻留在防火墙后面。服务器需要通知客户端是否发生了什么事情。因此,根据您的评论,似乎可以解决问题lve NAT问题。我会在我的环境中查看。@SimonWang,2016年的你好!只是想感谢你提出这个问题。所以,非常感谢你!