更新当前正在全天候运行的实时服务

时间:2014-01-21 13:52:14

标签: wcf web-services service amazon-web-services

有人可以建议如何在没有停机的情况下更新持有实时交易的网络服务/ wcf服务吗?

请不要建议在非高峰时段更新,因为我们的服务全天候运行,交易可能会在任何时间段内运行。

那么,通过一些更改来更新此类服务的最佳方法是什么,以便当前的事务不会受到影响?

3 个答案:

答案 0 :(得分:1)

根据我的经验...我使用Git服务器和本地机器来编辑代码以确保一切正常,然后推送到服务器,然后拉动实时网站,然后它有0停机时间....

答案 1 :(得分:1)

我使用负载平衡来防止错误并在更新期间保持站点正常运行。为此,您需要在负载均衡器后面至少有两台服务器,这些服务器可以将流量发送到任何服务器。我更新网站的程序是:

告诉“服务器A”开始在负载均衡器ping的URL处提供错误页面。这告诉负载均衡器停止向该服务器发送流量。 等待30秒左右,直到流量停止命中服务器。 更新此服务器上的代码。 告诉服务器停止在ping URL上提供错误页面。 等到该服务器再次获得流量。 使用“服务器B”重复步骤1-5。

答案 2 :(得分:0)

没有0秒的停机时间,这是不可能的。 您可以做的最多是更新Web服务,在staging server上彻底测试。验证并确保更新工作正常。

更新services-part(在我的情况下是一个xyz.war文件)并重新启动服务器以使其生效。 如果此过程中涉及任何数据库或其他更改,我会创建一个脚本并在登台服务器上测试它,然后再上线。

只有一个建议:对于其他情况,请正确备份当前的实时服务器。