0

我有一个 web 服务,它接受可以使用它们定义的任何队列发送到 RabbitMQ 集群的消息。这样前端开发人员就可以通过 javascript 发送消息。

我想让 webservice 更加健壮,这样当我们遇到网络问题时,webservice 仍然可以接受消息,然后在网络备份时处理它们。经过一些初步阅读,Shovel 插件似乎应该很好地处理这个问题。

我在想的是在打开铲子的 web 服务盒上安装 RabbitMQ 的本地实例。然后我可以通过本地 RabbitMQ 实例发送所有消息,并让它将所有消息推送到集群并处理网络问题。

我的问题是在查看文档之后,似乎我必须在铲子配置文件中配置我想要转发到的每个队列。如果是这种情况,我不确定这是否可行,因为我们允许客户端通过 web 服务动态定义队列。

我想让 web 服务获取消息,将它们传递给本地 rmq 实例,并让它使用相同的队列/exachanges/等将消息传递给集群。

有没有人试过这个或者可以解释一下铲子插件是如何工作的?

4

1 回答 1

2

您是否考虑过将消息发送到交换而不是队列。如果您需要这种灵活性,请将所有消息发送到一个交换器,可能是一个主题交换器。然后让消费者处理来自交换的不同消息或不同队列。发送到一个交易所将使配置铲子变得相当容易。

于 2012-10-16T06:01:44.603 回答