rabbitmq - 如何为不同的环境设置 RabbitMQ?

标签 rabbitmq

我们一直在开发一个使用安装在本地开发服务器上的 RabbitMQ 的应用程序。现在我们想将此应用程序移动到集成和 QA 环境,那么问题是我们是否需要在不同的环境中设置 RabbitMQ,或者是否有任何方法可以为 RabbitMQ 提供一个具有相同交换和队列名称的中央位置。

最佳答案

您当然可以拥有一个可以由不同应用程序和不同团队共享的中央 RabbitMQ 实例/集群。如果你想走这条路,我建议使用 Rabbit's access control mechanisms 将属于每个团队的数据与其他团队的数据隔离开来。 . 虚拟主机允许用户共享 Rabbit 服务器/集群资源,而无需踩到彼此的队列。

如果出于某种原因,您决定在共享环境中坚持使用单个虚拟主机,我建议不要与其他团队(甚至其他开发人员!)共享相同的交换和队列名称,尤其是因为潜在的用于不同方数据之间的冲突。我说“潜在”是因为不知道您的应用程序和队列的体系结构,可能不会出现这种冲突,因此由您决定是否会出现问题。

最后,如果与其他团队共享队列和交换的愿望是出于对设置工作的担忧,我建议自动化队列配置或将其构建到应用程序的启动例程中以避免麻烦。

希望这对您有所帮助!

关于rabbitmq - 如何为不同的环境设置 RabbitMQ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30345475/

相关文章:

rabbitmq - 在 travis build设置中声明 rabbitmq 交换

amazon-ec2 - 与 RabbitMQ 相比,Amazon SQS 的性能较慢

java - RabbitMQ 消费者仅消费一条消息,确认该消息并停止监听

erlang - 分布式 RabbitMQ 节点无法相互识别

docker - 带RabbitMQ的Amazon ECS

rabbitmq - 如何在@rabbitlistener中使用@queuebinding?

Python:Kombu+RabbitMQ Deadlock——队列不是阻塞就是阻塞

c# - 通过 ThreadLocal 访问 RabbitMQ IModel 是否有任何影响或陷阱?

rabbitmq - 可以在互联网上公开 Rabbitmq 吗?

scala - Heroku 上使用 Play Framework 的后台作业