运维发布的方式

导读:本篇文章讲解 运维发布的方式,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

运维发布的方式

1.蓝绿部署

蓝绿部署,是采用两个分开的集群对软件版本进行升级的一种方式。它的部署模型中包括一个蓝色集群Goup1和一个绿色集群Group2,在没有新版本上线的情况下,两个集群上运行的版本是一致的,同时对外提供服务。

系统升级时,蓝绿部署的流程是:

  • 从负载均衡器列表中删除集群Group1,让集群Group2单独提供服务。
  • 在集群Group1上部署新版本。
  • 集群Group1升级完毕后,把负载均衡列表全部指向Group1,并删除集群Group2,由Group1单独提供服务。
  • 在集群Group2上部署完新版本后,再把它添加回负戟均衡列表中。这样,就完成了两个集群上所有机器的版本升级。

蓝绿部署的忧点:升级和回退速度非常快

缺点:是全量升级的时候,如果V2版本有问题,对用户影响大再者由于升级过程中会服务器资源会减少一半,有可能产生服务器过载问题,因此这种发布方式也不适用于在业务高峰期使用。这样,就完不成两个集群上所有机器的版本升级。

2.灰度发布/金丝雀发布

灰度发布/金丝雀发布由以下几个步骤组成:
金丝雀发布是灰度发布的一种。灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。即在发布过程中一部分用户继续使用老版本,一部分用户使用新版本,不断地扩太大新版本的访问流量。最终实现老版本到新版本的过度。由于金丝雀对瓦斯极其敏感,因此以前旷工开矿下矿洞前,先会放一只金丝雀进去探是否有有毒气体,看金丝雀能否活下来,金丝雀发布由此得名。

发布过程中,先发一台或者一小部分比例的机器作为金丝雀,用于流量验证,如果金丝雀验证通过如把剩余机器全部发掉,如果金丝雀验证关败,则直接回退金丝雀。

优点:金丝雀发布的优势在于可以用少量用户来验证新版本功能,这样即使有问题所影响的也是很小的一部分客户。如果对新版本功能或性能缺乏足够信心那么就可以采用这种方式。

缺点:这种方式也有其缺点,金丝雀发布本质上仍然是一次性的全量发布,发布过程中用户体验并不平滑,有些隐藏深处的bug少量用户可能并不能验证出来问题,需要逐步扩大流量才可以。

3.滚动发布(Rolling Update Deployment)

滚动发布是在金丝雀发布基础上进行改进的一种发布方式。相比于金丝雀发布,先发金丝雀,然后全发的方式,滚动发布机是整个发布过程中按批次进行发布。每个批次拉入后都可作为金丝雀进行验证,这样流量逐步放大直至结束。

优点:这种方式的优点就是对用户的影响小,体验平滑。

缺点:首抗就是发布和回退时间慢,其次发布工具复杂,负载均衡设备需要具有平滑的拉入拉出能力,一般公司并没有资源投入研发这种复杂的发布工具。再者发布过程中新老版本同时运行,需要注意兼容性问题。

4.红黑部署(Red-Black Deployment)

与蓝绿部署类似,红黑部署也是通过两个集群完成软件版本的升级。当前提供服务的所有机器都运行在红色集群Group1中,当需要发布新版本的时候,具体流程是这样的:

  • 先申请一个黑色集群Group2,在Group2上部署新版本的服务; 等到Group2升级完成后,我们一次性地把负载均衡全部指向Group2
  • 把 Group1集群从负载均衡列表中删除,并释放集群Group1中所有机器。 这样就完成了一个版本的升级。可以看到。与蓝绿印署相比

优点:红黑部署获得了两个收益:一是,简化了流程;二是,避免了在升级的过程中,由于只有一半的服务器提供服务,而可能导致的系统过载问题。

缺点:但同样也存在全量升级对用户的影响问题,也带来了一个新的问题,就是发布过程中需要两倍的服务器资源。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/5651.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!