57 | 管理设计:部署升级策略
陈皓
该思维导图由 AI 生成,仅供参考
你好,我是陈皓,网名左耳朵耗子。
在分布式系统的世界里,一个服务有多个实例,所以部署或是升级一个服务也会变得比较麻烦。今天我们讨论服务部署的模式。一般来说,有如下几种:
停机部署(Big Bang / Recreate): 把现有版本的服务停机,然后部署新的版本。
蓝绿部署(Blue/Green /Stage):部署好新版本后,把流量从老服务那边切过来。
滚动部署(Rolling Update / Ramped): 一点一点地升级现有的服务。
灰度部署(Canary):把一部分用户切到新版本上来,然后看一下有没有问题。如果没有问题就继续扩大升级,直到全部升级完成。
AB 测试(A/B Testing):同时上线两个版本,然后做相关的比较。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
分布式系统设计模式中的部署升级策略是关键议题。本文详细介绍了停机部署、蓝绿部署、滚动部署、灰度部署和AB测试等常见部署方式,以及它们各自的优缺点和适用场景。停机部署简单直接,但对用户影响大;蓝绿部署避免停机,但可能浪费资源;滚动部署逐个替换应用实例,对有状态服务友好;灰度部署逐渐切换流量,适用于新版本稳定性缺乏信心的情况;AB测试用于功能测试。通过生动的比喻和实际案例,读者能深入了解各种部署方式的特点和适用场景。文章还提到了在不同环境下选择合适的部署方式的建议,以及对于特定用户测试的AB测试技术。总之,本文为读者提供了深入浅出的分布式系统设计模式知识,对于系统部署和升级具有重要参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《左耳听风》,新⼈⾸单¥98
《左耳听风》,新⼈⾸单¥98
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(25)
- 最新
- 精选
- 画圈圈太笼统了,关键是实现细节。2018-05-12630
- shufang滚动部署:逐个上;灰度部署:全上,逐步切换;蓝绿部署:全上,预发生产切换;AB测试:全上,同时存在。不知道理解的对不对?2018-05-2514
- 约书亚我觉得现在很多方案混合了蓝绿和灰度,这二者不会细分了。首先微服务架构下,单个服务的部署带来的冗余成本很低。同时也通过网关做流量的逐步迁移。发现问题回滚很快。尤其是基有了容器编排之后就更方便了2018-05-088
- FuriousEric很多同学说没有实现,我教大家一个方法,极客时间里搜一下蓝绿部署啊,极客时间的搜索功能要多用,例如redis分布式锁,有个专栏作者写的我完全看不懂,搜索了一下,发现耗子写的最好,秒懂。马上就找到另外一个专栏写的实践操作了,负载均衡里把蓝色集群全部删除掉,切换到绿色集群(例如阿里云的负载均衡配置),实际上那个专栏里叫做红黑部署,蓝绿部署是另外一种意思2020-10-133
- Geek_CK2020第一次意识到灰度部署和AB部署的本质区别是,前者是因为质量,后者是因为功能。2020-04-273
- 国诚要是有点能落地的东西就好了2018-11-173
- 独白对于有修改数据结构,新老版本不兼容,除了停机部署,其他几种部署有没有好的方案?2018-10-303
- 先立个flag,完成才改名的咸鱼蓝绿和灰度有什么区别?2019-09-2712
- 钱我们有J-ONE,测试通过,预发布通过,线上一般使用滚动部署的方式发布。2019-02-1012
- Goal打卡:57 | 管理设计篇之“部署升级策略” 针对本节课的内容,让我想起了之前做 k8s里面的 Deploy升级的场景,但是遇到一个问题始终无法解释? 默认k8s中升级新版本的策略是滚动更新,这个意思的话,就是服务不会中断的, 但是在我测试中发现并非如此,具体如下: 假设,我Deploy 的副本是3个,现在有版本是2的镜像要上线,通过 kubectl images修改 Deploy镜像版本为新的版本2,这时,我在另外一台机器上一直curl接口,发现当有第一个版本2的节点加入到 Deploy对应的 Service的 endpoint上时候,curl会显示 请求被拒绝响应的情况。2020-01-1321
收起评论