如何平滑升级服务器应用?

2016-02-28 15:29:04 +08:00
 yeyeye
比如说 PHP 程序吧,服务器数据库吧,如何平滑的升级,让用户感觉不到“系统维护中,部分 /全部功能不可用”

数据比较多的情况下其他的服务器如何平滑升级而不影响用户使用的呢?

生活中比如房子升级,那肯定是不能住了……但是互联网依赖服务器,有的时候我们根本没感觉到服务器有升级这个过程,莫名其妙的就变成新版了 0 0.

比如说 QQ 吧,除了故障,还真没见过什么时候不让用户正常使用的情况下升级服务器的,但是我用了十几年,只是极少数情况遇到过服务器出故障不能登录或者频繁掉线。(坑爹的是服务器这边真希望用户这时候能够冷静一下不要频繁尝试啊,但是用户反而是容易拼命尝试再尝试)

记忆中常见的不平滑的升级方式,比如淘宝,会提前通知 XX 点到 XX 点禁止任何写入操作,页面都是可以浏览的,又比如 V2EX 升级的时候,是直接关站。



除了数据比较大的情况下耗时比较久,那么耗时短的又是怎样平滑升级的呢?没有在大公司上班过,很好奇这个过程,因为比如网站程序只在我一个人手里,我会全部改好一次性交上去,最多影响几秒钟,升级数据库也是直接升级。反正用户量小,不太可能遭遇故障。

提到网站是因为网站程序不仅仅是一个文件,有很多个文件,如果只更新好一部分,另一部分还在进行中,那么用户那边恐怕很容易出现 500 错误。还有数据库,可能需要时间来操作才行,这时候用户端访问也是要出错的?如果访问量大的情况下,是如何防止影响用户使用的呢?

大神请指导。
2301 次点击
所在节点    问与答
4 条回复
Tony1ee
2016-02-28 21:03:10 +08:00
DNS 解析上下功夫吧?一个一个升级服务器,然后总是将域名解析到正常的服务器上。

以上完全是我猜的。
dangyuluo
2016-02-29 00:38:15 +08:00
关注一下,也在学习这个
yeyeye
2016-02-29 08:54:50 +08:00
@Tony1ee
@dangyuluo 不知道是不是被我降权了,大神都没来回答……
mengzhuo
2016-02-29 09:13:21 +08:00
得有 proxy 才能做无缝升级

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/259656

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX