2

我有一个具有客户端-服务器风格的分布式系统,如下所示:

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?
4

1 回答 1

2

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

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

于 2012-10-12T07:56:09.680 回答