我们如何管理多个应用程序的rabbitmq配置
目前,我们在管理rabbitmq的应用程序配置时使用以下方法:我们如何管理多个应用程序的rabbitmq配置,rabbitmq,message-queue,Rabbitmq,Message Queue,目前,我们在管理rabbitmq的应用程序配置时使用以下方法: 我们使用Ansible构建了一个基本rabbitmq集群 然后,我们有20多个产品,每个产品都依赖于RabbitMQ,并且每个产品对消息的生成和使用都有不同的要求。 每个应用程序都有一个json文件,描述应用程序所需的每个交换/队列/绑定(例如rabbitmq.json),我们以预定义的方式生成交换/队列/绑定(见下文) 每个应用程序都注册它需要的生产者和消费者 每个应用程序还仅在应用程序运行期间创建实时队列(只有少数应用程序需要
- 我们使用Ansible构建了一个基本rabbitmq集群
- 然后,我们有20多个产品,每个产品都依赖于RabbitMQ,并且每个产品对消息的生成和使用都有不同的要求。 每个应用程序都有一个json文件,描述应用程序所需的每个交换/队列/绑定(例如rabbitmq.json),我们以预定义的方式生成交换/队列/绑定(见下文) 每个应用程序都注册它需要的生产者和消费者 每个应用程序还仅在应用程序运行期间创建实时队列(只有少数应用程序需要这种类型的队列)
- 为每个应用程序创建一个json文件,该文件描述应用程序所需的每个交换/队列/绑定(例如rabbitmq.json)
- 我们编写了一个脚本,然后遍历所有应用程序rabbitmq.json文件,并生成一个新的Powershell脚本(例如,generate_queues_exchanges_bindings.ps1),该脚本包含所有exchange/queue和绑定管理api调用(可通过curl执行)
- 然后执行在这个generate_queues_exchanges_bindings.ps1脚本中生成的curl命令
正确/推荐的方法是什么?我们应该预先配置rabbitmq队列/交换/绑定,还是每个应用程序(在启动时)负责确保创建这些队列/交换/绑定?如果您的应用程序确保启动时所需的资源可用,那么维护将更容易如果将资源保存在定义文件中,它们将与应用程序不同步,甚至可能不在源代码管理中 我的0.02美元
注意:RabbitMQ团队监控
RabbitMQ用户
,并且有时只回答有关StackOverflow的问题