更换网络服务方面的最佳做法?

时间:2010-06-27 23:41:12

标签: java web-services rest

因此,我们有一个繁忙的遗留Web服务需要被新的替换。使用apache tomcat服务器上的WAR文件部署了旧版Web服务。那就是它被复制到tomcat下的web apps文件夹中,一切顺利。我被委以替换它的任务,并希望确保

  1. 我备份旧服务
  2. 服务被另一个没有停机时间的WAR文件替换
  3. 我再次知道我过于谨慎,但它是生产水平,我希望一切顺利。一步一步的说明会有所帮助。

2 个答案:

答案 0 :(得分:1)

  1. 制作测试服务器
  2. 阅读教程并使用测试服务器直到它顺利进行
  3. 复制您在prod服务器上的测试服务器上所做的操作。
  4. 如果这真的是一个“没有停机时间”的“繁忙的prod服务器”,那么你将拥有某种测试服务器,你可以直接获得配置。

答案 1 :(得分:0)

  

......没有停工时间

如果您确实意味着零停机时间,那么您将需要复制您的网络服务器并实施某种可以透明地将请求流切换到不同服务器的前端。您还需要处理会话迁移。

如果您的意思是停机时间最短,那么大多数Web容器都支持热重新部署Web应用程序。但是,这通常需要自动关闭和重新启动webapp,这可能需要几秒或几分钟,具体取决于webapp。此外,存在显着的内存泄漏风险;例如permgen空间。

回退是Web容器的完全关闭/重启。

不言而喻,你需要:

  • 复制生产环境的测试服务器。
  • 检查部署到测试环境的严格程序会导致系统功能完备。
  • 在部署失败的情况下,用于回滚生产系统的预先计划,经过测试且有希望防弹的程序。

当系统包含除webapp之外的其他内容时,所有这些(尤其是回滚)会变得更加复杂;例如数据库。