57 | 管理设计篇之“部署升级策略”

2018-04-17 陈皓
《左耳听风》
课程介绍


讲述:柴巍

时长:大小4.20M


在分布式系统的世界里,一个服务有多个实例,所以部署或是升级一个服务也会变得比较麻烦。今天我们讨论服务部署的模式。一般来说,有如下几种:
停机部署(Big Bang / Recreate): 把现有版本的服务停机,然后部署新的版本。
蓝绿部署(Blue/Green /Stage):部署好新版本后,把流量从老服务那边切过来。
滚动部署(Rolling Update / Ramped): 一点一点地升级现有的服务。
灰度部署(Canary):把一部分用户切到新版本上来,然后看一下有没有问题。如果没有问题就继续扩大升级,直到全部升级完成。
AB 测试(A/B Testing):同时上线两个版本,然后做相关的比较。
下面,我们来看一下每种方式的使用场景和优缺点。

停机部署

停机部署其实是最简单粗暴的...

展开全文
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。

精选留言

  • 画圈圈
    2018-05-12
    太笼统了,关键是实现细节。
    共 5 条评论
    28
  • shufang
    2018-05-25
    滚动部署:逐个上;灰度部署:全上,逐步切换;蓝绿部署:全上,预发生产切换;AB测试:全上,同时存在。不知道理解的对不对?
    
    13
  • 约书亚
    2018-05-08
    我觉得现在很多方案混合了蓝绿和灰度,这二者不会细分了。首先微服务架构下,单个服务的部署带来的冗余成本很低。同时也通过网关做流量的逐步迁移。发现问题回滚很快。尤其是基有了容器编排之后就更方便了
    
    8
  • FuriousEric
    2020-10-13
    很多同学说没有实现,我教大家一个方法,极客时间里搜一下蓝绿部署啊,极客时间的搜索功能要多用,例如redis分布式锁,有个专栏作者写的我完全看不懂,搜索了一下,发现耗子写的最好,秒懂。马上就找到另外一个专栏写的实践操作了,负载均衡里把蓝色集群全部删除掉,切换到绿色集群(例如阿里云的负载均衡配置),实际上那个专栏里叫做红黑部署,蓝绿部署是另外一种意思
    
    2
  • 国诚
    2018-11-17
    要是有点能落地的东西就好了
    
    2
  • 独白
    2018-10-30
    对于有修改数据结构,新老版本不兼容,除了停机部署,其他几种部署有没有好的方案?
    
    2
  • ZEROAZERO
    2020-01-21
    灰度和滚动自己有些没分清,
    
    
  • Goal
    2020-01-13
    打卡:57 | 管理设计篇之“部署升级策略” 针对本节课的内容,让我想起了之前做 k8s里面的 Deploy升级的场景,但是遇到一个问题始终无法解释? 默认k8s中升级新版本的策略是滚动更新,这个意思的话,就是服务不会中断的, 但是在我测试中发现并非如此,具体如下: 假设,我Deploy 的副本是3个,现在有版本是2的镜像要上线,通过 kubectl images修改 Deploy镜像版本为新的版本2,这时,我在另外一台机器上一直curl接口,发现当有第一个版本2的节点加入到 Deploy对应的 Service的 endpoint上时候,curl会显示 请求被拒绝响应的情况。
    展开
    共 2 条评论
    1
  • 先立个flag,完成才改...
    2019-09-27
    蓝绿和灰度有什么区别?
    共 1 条评论
    2
  • edisonhuang
    2019-07-22
    部署升级方式有停机,蓝绿,滚动,灰度,AB测试等。不同的方式在资源消耗,状态一致,功能性能验证方面有区别。云时代基本不会使用的是停机部署的方式,对用户影响太大
    
    1
  • 钱
    2019-02-10
    我们有J-ONE,测试通过,预发布通过,线上一般使用滚动部署的方式发布。
    共 1 条评论
    2
  • 秋天
    2018-05-08
    有些东西能不能具体说说实现方式呢?谢谢!
    共 1 条评论
    1
  • 迷宫中的将军
    2021-01-29
    红黑部署是现在典型的云上部署方式。
    
    
  • 你为啥那么牛
    2020-10-30
    如果数据库表设计发生了变更,金丝雀部署,通过引流得方式升级,会不会有问题了。
    
    
  • Lin
    2020-05-24
    预发布停机部署,生产滚动部署,或灰度
    
    
  • 曙光
    2020-04-28
    感觉灰度部署和AB测试是一种部署,灰度部署强调怎么部署(10%新版本,90%旧版本),而AB测试强调的是新老版本的使用情况,测试比较。
    
    
  • Geek_130e9e
    2020-04-27
    部署应用有很多种方法,实际采用哪种方式取决于需求和预算。当发布到开发或者模拟环境时,停机或者滚动部署是一个好选择,因为干净和快速。当发布到生产环境时,滚动部署或者蓝绿部署通常是一个好选择,但新平台的主流程测试是必须的。
    
    
  • Geek_CK2020
    2020-04-27
    第一次意识到灰度部署和AB部署的本质区别是,前者是因为质量,后者是因为功能。
    
    
  • 知行合一
    2020-01-11
    停机部署是业务变更比较大并且可控的情况下才会使用,蓝绿部署工作中还很少用到,滚动部署比较常用,但是需要考虑两个版本同时运行这段时间的兼容问题,灰度发布在发app版本的时候用到了,但是服务端还未对人群做灰度,ABtest应用在了一些业务上但是服务发布时还没用到过,实现这所有发布模式的发布系统可畏是很强大了
    
    
  • 文刂 氵共 超
    2020-01-06
    坚持学习,学习笔记 https://mubu.com/colla/1kM6EcLYQJ0
    
    