像某宝、狗东这样的网站怎么发布(更新)项目的

2020-09-10 13:03:45 +08:00
 leeton

像某宝、狗东这样的网站怎么发布(更新)项目的,平时也没见过他们提示系统升级中 稍后访问之类的

7936 次点击
所在节点    程序员
44 条回复
pc10201
2020-09-10 13:23:05 +08:00
滚动升级啊
crclz
2020-09-10 13:57:01 +08:00
(瞎猜的) api 保留历史的一些版本;服务端一次升级一台,一台升级完了再升级下一台。(这样服务能力保留为原来的 N-1/N )
chaleaoch
2020-09-10 14:01:32 +08:00
应该和王者荣耀的不停机更新一个道理 不过 不停机更新是如何实现的我不清楚(狗头.jpg)
MinQ
2020-09-10 14:07:14 +08:00
@chaleaoch 滚动发布,先将几台机器从集群中隔离,将流量打到其它机器上。然后升级隔离的机器,进行发布和验证,验证通过后将流量接回。然后循环这个过程,直到集群中所有机器都升级完毕
huihui0615
2020-09-10 14:08:00 +08:00
@chaleaoch 热更新嘛
PopRain
2020-09-10 14:29:20 +08:00
我只是好奇,为啥不是“狗宝” ?
leeton
2020-09-10 14:31:42 +08:00
@PopRain 因为京东的头像是狗头啊
wellsc
2020-09-10 14:37:33 +08:00
devops
LifStge
2020-09-10 14:42:59 +08:00
@leeton 我在想 他的意思是不是 把两个词直接合并呢 = = 哈哈
Jooooooooo
2020-09-10 14:45:22 +08:00
都是集群

发布就是先把比如 10% 的机器摘掉, 然后上新版本, 发起来了再放回去, 然后这么发 10 次新版本就上线了

这里一般要注意兼容性的问题, 因为是新旧版本同时在线上可以被访问到
coldmonkeybit
2020-09-10 14:45:26 +08:00
ewBuyVmLZMZE
2020-09-10 15:00:18 +08:00
研发三板斧做好,想怎么发就怎么发。
yolee599
2020-09-10 15:09:44 +08:00
用两台以上服务器,升级这一台的时候流量全部转到另外的服务器,以此类推
zealinux
2020-09-10 15:49:25 +08:00
@syhily 哪三板斧?
jmk92
2020-09-10 15:50:07 +08:00
有负载均衡就能实现,一台机器也无妨,也用它的镜像生成一台临时的机器,加入负载均衡,把流量都切到新的上面,
更新之前的机器,更新完了之后,流量再切回来,释放新实例
liujan
2020-09-10 15:50:40 +08:00
分批发布,先发布一批,没问题再发布另外一批
adoula
2020-09-10 15:53:06 +08:00
你们说的都是负载均衡之类的吧,如果数据库字段有删减,改怎么搞?
MinQ
2020-09-10 15:57:54 +08:00
@adoula 为了保证兼容性一般都是加,非得搞就得准备新的库和表,然后用不同版本的接口做划分
oscer
2020-09-10 16:41:53 +08:00
负载均衡啊,无感知更新
oscer
2020-09-10 16:42:19 +08:00
@adoula 有缓存啊,全部更完之后,清除掉缓存就行了

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

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

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

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

© 2021 V2EX