0

默认情况下,当我发送缺少 routing_key 的消息时,代理会拒绝它。如何强制 RabitMQ 将一个发送到某个“默认”队列?例如,我有 3 个消费者,键为“con1”、“con2”和“con4”。我发送一条带有密钥“con3”的消息,我需要代理将消息重新排队到某个“启动器”队列,该队列可以启动“con3”消费者并再次重新排队消息?

我找到了这个https://github.com/tonyg/script-exchange并且我确定它对我有帮助,但我无法安装它,因为存储库在 4 年前更新并且现代伞式开发工具包不支持这个旧的 makefile。

4

1 回答 1

0

有必要结合使用备用交换协议扩展和一致哈希交换插件。因此,您应该声明 2 个交换:direct 和 x-consistent-hash(替代第一个)。然后所有现有的消费者都应该创建自己的队列,绑定到直接交换。在这种情况下,所有具有“con1”、“con2”和“con4”路由键的消息将直接路由到消费者,而具有另一个路由键的消息将被重新路由到可以将它们路由到某些“经理”的替代交换器,它启动必要的处理器(消费者)。

现在不支持“脚本交换”RabbitMQ 插件。

于 2013-09-17T19:01:53.967 回答