V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yeyeye
V2EX  ›  问与答

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

  •  2
     
  •   yeyeye · 2016-02-28 15:29:04 +08:00 · 2294 次点击
    这是一个创建于 2972 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如说 PHP 程序吧,服务器数据库吧,如何平滑的升级,让用户感觉不到“系统维护中,部分 /全部功能不可用”

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

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

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

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



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

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

    大神请指导。
    4 条回复    2016-02-29 09:13:21 +08:00
    Tony1ee
        1
    Tony1ee  
       2016-02-28 21:03:10 +08:00 via Android   ❤️ 1
    DNS 解析上下功夫吧?一个一个升级服务器,然后总是将域名解析到正常的服务器上。

    以上完全是我猜的。
    dangyuluo
        2
    dangyuluo  
       2016-02-29 00:38:15 +08:00 via iPhone   ❤️ 1
    关注一下,也在学习这个
    yeyeye
        3
    yeyeye  
    OP
       2016-02-29 08:54:50 +08:00
    @Tony1ee
    @dangyuluo 不知道是不是被我降权了,大神都没来回答……
    mengzhuo
        4
    mengzhuo  
       2016-02-29 09:13:21 +08:00 via iPhone
    得有 proxy 才能做无缝升级
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5675 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 01:50 · PVG 09:50 · LAX 18:50 · JFK 21:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.