我正在尝试构建非常轻量级的解决方案,以便为Java应用程序实现零停机部署.为简单起见,我们认为我们有两台服务器.我的解决方案是使用:
在"前端" - 一些负载均衡器(软件) - 我在这里考虑HAProxy.
在"后面" - 两台服务器,都运行Tomcat和已部署的应用程序.
当我们即将部署新版本时
我们使用HAProxy禁用其中一个服务器,因此只有一个服务器(让我们称之为服务器A,运行旧版本)将可用.
在其他服务器上部署新版本(让我们称之为服务器B),运行生产单元测试(如果我们有它们:-)并使用HAProxy启用服务器B,同时禁用服务器A.
现在我们只有一个服务器活动(服务器B,新版本).在服务器B上部署新版本,然后重新启用它.
任何建议如何改善?怎么自动化?
任何现成的解决方案或我必须最终得到我自己的自定义脚本?
谢谢!