我有一个项目使用Spring Integration + RabbitMQ。我们仍处于早期开发阶段,所以我们正在迅速改变我们的集成架构的拓扑结构,包括RabbitMQ配置。自动更改RabbitMQ config
我们也试图通过免提部署来遵循持续部署。
我在我的spring配置文件中声明了一个<rabbit:admin />
元素,这很好地处理添加新的交换或队列。
但是,我发现它在部署更改现有交换/队列配置的更新时失败。
近日,一对夫妇的部署已经失败,因为:
- 我们交换了直接队列的扇出交换
- 我们改变了TTL宣布的消息有直接的队列。
在这两种情况下,现有配置都需要更改,而不是仅创建新实例。这些更新未应用,导致启动失败。
对于这两个问题,修复很简单 - 删除违规资源,重新启动应用程序,然后使用<rabbit:admin />
开始替换正确的定义。
但是,在生产系统中,我们不能这样做。另外,目前这不是我们部署的脚本,因此连续部署更加麻烦。
对于可以处理RabbitMQ拓扑更新的持续部署策略,有哪些工具或策略可用?
谢谢 - 这当然有帮助,但我仍然很好奇人们如何管理这些东西?我不能成为唯一一个试图用RabbitMQ进行连续部署的人。有什么建议么? –
我建议你问他们的名单上的兔子专家https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss –