我正在使用 Spring 编写服务,并且正在使用 Spring AMQP 连接到 Rabbitmq。
我有两个 rabbitmq 集群,一个仅用于发布消息(消息通过联邦插件发送到另一个集群),另一个集群用于声明最终用户将从中消费的队列。
节点位于 aws lb 后面,每个集群都有一个 lb。
我在我的代码中使用 CachingConnectionFactory 和 RabbitTemplate,RabbitAdmin 并且我想连接到所有节点以便我可以使用它们。对于将包含我添加到配置中的队列的集群,queue-master-locator=random 以便在集群中的所有节点中声明新队列,即使我的服务与它们没有连接。
对于发布消息的集群,我遇到了更多问题,因为我需要在我的服务中直接连接到每个节点,这样我就能够分离节点之间的负载。
所以我的问题是,如何在我的服务中创建与集群中所有节点的连接,以便它们都用于声明队列和发送消息?
现在,在我对这个问题有了某种解决方案之后,下一个问题将是当一个新节点添加到集群时会发生什么?如何创建与它的连接并开始使用它?
我正在使用 Rabbitmq - 3.7.9、Spring - 2.0.5、Spring AMQP - 2.0.5
非常感谢!