(重新)在多个服务器上部署.net逻辑

本文关键字:部署 net 逻辑 服务器 重新 | 更新日期: 2023-09-27 18:10:23

序言:多个(5+)服务器运行相同的worker。工作线程监听RabbitMQ队列中的任务并执行它。问题:worker逻辑更改(每天最多2-3次),需要一种健壮的方式将更新的worker重新部署到多个服务器上。

我意识到这样的分布式计算环境可以从头开始编写(轮询更新,下载汇编并将其运行到单独的AppDomain),但我试图先找到一些框架…

(重新)在多个服务器上部署.net逻辑

在预测试阶段,我会使用一些powershell脚本,它可以轻松地轮询,下载和启动/停止应用程序或服务,而无需在单独的AppDomain中运行(相信我,这一点都不微不足道)。这些脚本也可以很容易地与Windows任务调度程序调度(你也可以脚本调度任务的创建…)。

如果你还想尝试一个现成的解决方案,我可以看看:

  1. Octopus,它是。net原生的,但不是免费的
  2. Puppet或Chef,这是部署自动化的两个领导者,它们都有免费版本
  3. Ansible,这是一个年轻的产品(仍然有限的Windows支持),但我认为它真的很有趣

更新

如果你已经有了,TFS可能是另一种可能性。我不确定它是否可以部署windows服务,但如果不能,我会感到惊讶。