相对于蓝绿发布需要一套完备的机器不同, 滚动发布只需要一台机器(这儿这是为了理解, 实际可能是多台), 我们只需要将部分功能部署在这台机器上, 然后去替换正在运行的机器, 如上图, 将更新后的功能部署在Server1 上, 然后Server1去替换正在运行的Server, 替换下来的物理机又可以继续部署Server2的新版本, 然后去...
蓝绿部署和灰度发布是现代软件开发中两种流行的发布策略,它们旨在减少发布新版本时的风险,并确保系统的高可用性和稳定性。本文将深入探讨这两种策略的定义、工作原理、优点、缺点,以及它们适用的场景。 一、蓝绿部署 定义:蓝绿部署是一种将生产环境直接从当前版本(蓝色)切换到新版本(绿色)的策略。这要求同时运行两个...
蓝绿发布在早期物理服务器时代,还是比较昂贵的,由于云计算普及,成本也大大降低。 二、 灰度发布 灰度发布只升级部分服务,即让一部分用户继续用老版本,一部分用户开始用新版本,如果用户对新版本没什么意见,那么逐步扩大范围,把所有用户都迁移到新版本上面来。 特点 保证整体系统稳定性,在初始灰度的时候就可以发现、...
腾讯云 Kubernetes 集群实现蓝绿发布或灰度发布通常需向集群额外部署其他开源工具,例如 Nginx Ingress、Traefik 或将业务部署至服务网格 Service Mesh,利用服务网格的能力实现。这些方案均具有一定难度,若您的蓝绿发布或灰度需求不复杂,且不期望集群引入过多的组件或复杂的用法,则可参考本文利用 Kubernetes 原生的特性以及...
长期以来,业务升级渐渐形成了几个发布策略:蓝绿发布、灰度发布和滚动发布,目的是尽可能避免因发布导致的流量丢失或服务不可用问题。 一、 蓝绿发布 项目逻辑上分为AB组,在项目系统时,首先把A组从负载均衡中摘除,进行新版本的部署。B组仍然继续提供服务。
比如日常运行时,需要10台服务器支撑业务,那么使用蓝绿部署,你就需要购置二十台服务器。 金丝雀发布/灰度发布(Canary Release) 灰度发布 Gray Release(又名金丝雀发布 Canary Release) 金丝雀发布有一个有趣的小故事,被称为「金丝雀在矿井」。这个故事用来形象地描述金丝雀发布策略的概念。
利用Kubernetes原生特性实现简单的灰度发布和蓝绿发布 1.原理介绍 用户通常使用无状态负载 Deployment、有状态负载 StatefulSet等Kubernetes对象来部署业务,每个工作负载管理一组Pod。以Deployment为例,示意图如下: 通常还会为每个工作负载创建对应的Service,Service使用selector来匹配后端Pod,其他服务或者集群外部通过访问Service...
通常灰度验证过后,全量发布,都不会有太大的问题,基本上再出问题概率就很小了,所以现在中大型互联网公司,一般都是灰度发布模式的 (3)蓝绿部署 蓝绿部署的意思是说,你得同时准备两个集群,一个集群放新版本代码,一个集群放老版本代码,然后新版本代码的集群准备好了过后,直接线上流量切到新版本集群上去,跑一段时...
通过搜索相关资料,做一个简单的辨析,如下: 一、蓝绿部署(Blue/Green Deployment) 过去的 10 年里,很多公司都在使用蓝绿部署(发布)来实现热部署,这种部署方式具有安全、可靠的特点。蓝绿部署虽然算不上“ Sliver Bullet”,但确实很实用。 蓝绿部署是最常见的一种0 downtime部署的方式,是一种以可预测的方式发布...
事实上,蓝绿发布、滚动发布、灰度发布本质上还是一种部署行为,只不过是由于业务增加了对外周知用户的环节,因此变成了发布。从部署这个角度看,它们不仅是在生产环境可用,在测试环境也可以使用。再从DevOps持续集成交付角度看,开发的代码不断集成到代码库,也需要不断的部署在测试环境、生产环境中,因此它们仍然发挥...