我们在 asp.net 平台上构建了一个企业Web应用程序,该应用程序在多个服务器上进行了很好的负载平衡。我们在进行常规部署方面有点挣扎,因为应用程序已被定义为零停机时间的 SLA。
任何指导/提示将不胜感激,以实施最佳实践以支持不间断部署。
我最喜欢的两本书涵盖了其中一些主题,分别是Humble/Farley的Continuous Delivery和Allspaw/Robbins的Web Operations。
我认为这里的"简单"部分是进行滚动部署,从负载均衡器中拉出节点,对其进行升级,运行冒烟测试,然后将其放回负载均衡器中。不同的用户会遇到不同版本的应用程序,但您可以获得零停机时间。
困难的部分是这些Web应用程序可能遇到的后端系统/数据库。您基本上需要同时使用旧架构和新架构,这很有挑战性。看看像扩展/收缩数据库模式这样的技术作为实现这一目标的一种方法。