是否有任何配置可以在失败时连接到不同代理上具有相同名称的队列?

Is there any configuration to connect to queue with same name on different broker on failure?

我只想知道 spring-amqp 中是否有配置 属性 以自动连接到应用程序 属性 文件中给出的具有相同队列名称的主机!

例如,我有大约 20 个队列将用于发布和使用 VM(server1) 中大约 10 个小型 spring 启动应用程序,如果 queues/rabbitmq 节点发生某些事情在 server1 上,然后它应该连接到 server2 上的同一组队列(可以给它的 host/addresses application.property 文件 - 集群/非集群节点 - 所有方法对我来说都很好)。这本可以通过 Mirroring 队列解决,但它们涉及性能下降(传输到其他节点和应用程序在其他服务器上的额外网络旅行,其节点不存在队列)

现在不是一个伟大的程序员!请忽略我的无知! ;)

除非您愿意丢失消息并且队列配置为自动删除,否则您的建议毫无意义。

如果是这样,它将"just work",只需使用host1,host2,只要queues/bindings等配置为Spring @Bean s,当连接故障转移时,队列将在新代理上声明。

对于非自动删除队列没有任何意义,因为消息可能仍然存在于失败的代理上(并且它们将在我们下次连接时被消耗,但现在可能有陈旧的消息在第二个经纪人上)。