我有一个具有客户端 - 服务器风格的分布式系统如下:
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?
答案 0 :(得分:2)
如果我理解正确,那么您需要通知许多客户端程序。这些客户端将位于防火墙后面,因此您无法从服务器直接连接到它们。
是的RabbitMQ会起作用。将其设置在您的服务器上并确保它可通过Internet访问(您必须在防火墙中打开端口5762.确保有关MQ服务器连接的安全性,以便只有您想要的客户端可以连接到它然后,您将向MQ服务器发布消息,大概是负责将消息分发到队列的交换机。您的客户端将连接到RabbitMQ并使用队列。它们应该使用等待消息来的线程根据需要进行处理。