比如淘宝 和各种大网站 每分每秒都会有用户在上面支付和浏览信息这些网站是如何更新版本的呢..
更新版本必然会替换js 和css 文件 导致的布局逻辑混乱还有后台服务器更新必然要重启一遍服务器吧 .. 那正在支付的人不就麻烦了.. 这些是怎么解决的
git
分批部署,背后几千台服务器,每次更新一部分,直到更新完成,有点类似给正在高速飞驰的汽车换轮子
我工作的地方不算大网站, 也没有相关经验,试着回答一下。我们的做法一般是js css之类的静态文件一般都会并行多个可用的版本,不同版本是有不同的url。动态内容会灰度发布, 有时会有AB版,有时会有小范围的用户可见的alpha版,需要更新时,通常都是由前端负载停掉向后端的请求,下线,更新,再上线,再由负载均衡设置发过来前端的请求。对于前端用户来说,只要处理好用户的登录和session状态,用户根本感觉不到后台服务器的更新。
负载均衡啊,跟新的服务器先下线,跟新版本再测试,最后回到线上的负载,交给用户使用