【发布时间】:2014-01-21 13:52:14
【问题描述】:
任何人都可以建议如何在不停机的情况下更新一个 web-service /wcf 服务来保存实时交易吗?
请不要建议在非高峰时间更新,因为我们的服务 24x7 运行,交易可能会在任何时间段运行。
那么,通过一些更改来更新此类服务以不影响当前交易的最佳方式是什么?
【问题讨论】:
标签: wcf web-services service amazon-web-services
任何人都可以建议如何在不停机的情况下更新一个 web-service /wcf 服务来保存实时交易吗?
请不要建议在非高峰时间更新,因为我们的服务 24x7 运行,交易可能会在任何时间段运行。
那么,通过一些更改来更新此类服务以不影响当前交易的最佳方式是什么?
【问题讨论】:
标签: wcf web-services service amazon-web-services
我使用负载平衡来防止错误并在更新期间保持网站正常运行。为此,您需要在负载均衡器后面至少有两台服务器,将流量发送到启动的服务器。我更新网站的程序是:
告诉“服务器 A”在负载平衡器 ping 的 URL 处开始提供错误页面。这告诉负载均衡器停止向该服务器发送流量。 等待 30 秒左右,直到流量停止访问服务器。 更新此服务器上的代码。 告诉服务器停止在 ping URL 处提供错误页面。 等到该服务器再次获得流量。 对“服务器 B”重复步骤 1-5。
【讨论】:
根据我的经验...我使用 Git 服务器和本地机器来编辑代码以确保一切正常,然后推送到服务器,然后拉上实时站点,然后它的停机时间为 0 ....
【讨论】:
没有 0 秒的停机时间,这是不可能的。 至少你能做的是更新网络服务,在登台服务器上彻底测试。验证并确保更新正常运行。
更新服务部分(在我的例子中是 xyz.war 文件)并重新启动服务器以使其生效。 如果此过程涉及任何数据库或其他更改,我会制作一个脚本并在上线前在登台服务器上进行测试。
只有一个建议:对当前的实时服务器进行适当的备份以防万一。
【讨论】: