【发布时间】:2015-12-22 16:03:47
【问题描述】:
我有一个用于 NServiceBus 消费者的 Octopus 部署。直到最近,只有一个队列可以消费。现在,我们正在尝试将不同类型的消息放在不同的队列中。目前我们已将其分成 3 个队列,但这个数字未来可能会增加。
现在的计划是在 3 个不同的文件夹中以 3 个不同的名称安装 NSB 消费者服务 3 次。 3 个部署的唯一区别是 app.config 设置:
<add key="NsbConsumeQueue" value="RedQueue" />
所以我们将有一个Red 服务、一个Green 服务和一个Blue 服务,并且每个服务都将被配置为使用适当的队列。
在 Octopus 中部署这 3 项服务的最佳方式是什么?我的理想是在某处声明某种服务列表,例如
ServiceName QueueName
----------- ---------
RedService RedQueue
GreenService GreenQueue
BlueService BlueQueue
并遍历这些服务,将每个服务部署在自己的文件夹中,并将app.config 中的NsbConsumeQueue 的值替换为适当的值。我不认为这可以使用变量来完成,这会留下 PowerShell。
知道如何编写一个可以做到这一点的 PS 脚本吗?
【问题讨论】:
-
嗨 Saul :) 您能否提供更多背景信息,为什么您需要 3 个单独的队列用于相同的消息类型?您是否尝试优先处理消息?
-
它们是不同的消息类型。很高兴在这里见到你@TylerDay!你是在跟踪我,还是只是碰巧看到了我的帖子? :)
-
碰巧偶然发现了这个。我大约一年前开始使用 NSB。我不知道章鱼部署,但我认为你可能不得不走 powershell 路线。这就是我一直在为我的部署做的事情。
-
出于好奇,您为什么对三个不同的端点使用相同的“消费者”?对于可以托管多个 AC 的每个端点,我有一个不同的端点(+ 项目),具体取决于我在该端点中托管哪个服务的哪个 AC。我可以看到这两种方法的价值,只是好奇你为什么选择走这条路。
标签: powershell nservicebus octopus-deploy