【问题标题】:Load Balanced Deployments负载平衡部署
【发布时间】:2010-12-14 20:38:27
【问题描述】:

我有一个应用程序在两台 Web 服务器(很快将是三台)之间进行负载平衡,部署非常痛苦。首先我必须做数据库端,但这会破坏正在运行的生产代码 - 如果我先做代码,数据库端还没有准备好等等。

我很好奇的是这里的每个人如何部署到负载平衡的 X 服务器集群。由于将代码从测试发布到产品每台服务器大约需要 10 分钟(多个服务和多个站点),我希望有人对最佳实践有所了解。

如果这是一个错误的网站(meta 肯定不适用 - 不确定 serverfault 是否因为我是一名开发人员进行部署)我愿意在其他地方重新提问。

【问题讨论】:

  • 您的问题不在于负载平衡,而是在于数据库版本控制。
  • 数据库版本控制是什么意思?

标签: load-balancing


【解决方案1】:

我使用 nant 脚本和 psexec 来执行它们。

基本上在场中有一个主服务器,它在本地复制应用程序和数据库脚本,然后在场中的每个服务器中执行部署脚本,将代码复制到本地,如果需要进行修改,使应用程序脱机部署代码并让应用上线

应用程序通常会持续大约 20 秒(5 个节点)

另外,我还没有尝试过,但我听说了很多有关 MSDeploy 的信息。

希望对你有帮助

【讨论】:

  • 有趣,我会检查这两个。谢谢!
【解决方案2】:

是的,如果您想在不停机的情况下执行此操作,您应该研究 HA(高可用性)技术。看看 Paul Bertucci 的一本书——我认为它叫做 SQL Server High Availability 之类的。

否则,建立你的“维护”页面,关闭所有应用服务器,先做数据库和一个应用服务器,然后上线,然后离线做另外两个。

【讨论】:

  • 我不知道这是否可行 - 数据库服务器是 Oracle,我没有与 dbo 等效的 SQL 访问权限。我之前做过维护的事情,但这对后端处理没有帮助。
  • 哦,我想我在你的问题中添加了“如何在不停机的情况下做到这一点” - 抱歉!我不认为有任何“最佳实践”来做你目前正在做的事情。如果一家公司负担不起在 DB 层对 HA 的投资,他们通常会提前发送电子邮件并放置“很快返回”页面。然后他们不会回来,直到他们不仅部署而且完成了足够的测试以满足要求。根据我的经验,通常在深夜。如果您想弄清楚如何更快地从 a 点到 b 点获取代码,也许您可​​以给我们更多的细节?
  • 我认为后不久页面和自动化脚本的组合绝对是我的未来。速度部分还不错,我只需要想出一个比手动完成所有这些东西更好的机制。
猜你喜欢
  • 2013-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-21
  • 1970-01-01
  • 2022-01-10
  • 1970-01-01
  • 2020-09-09
相关资源
最近更新 更多