蓝绿发布、金丝雀发布、A/B测试
通常,生产环境中的项目发布方式包括后面三种:蓝绿发布、金丝雀发布、A/B测试。下面是个人的一些理解,有问题请指正,谢谢。
蓝绿发布
两套一模一样的生产环境,且两者之间没有耦合情况。对外提供服务的一套为绿色环境,不对外的一套为蓝色环境。如果有新功能先发布到蓝色环境,不影响绿色环境的使用。反复测试修改验证没有问题后,将用户切到蓝色环境,切换后的一段时间内,如果有问题再切回绿色环境。如果没有问题,蓝色环境就成为新的绿色环境,原绿色环境释放,用于部署下一个蓝色环境。
金丝雀发布
也就是常说的灰度发布。假设你有几百台甚至上千台服务器,你不可能申请这么多主机再部署一套所谓的蓝色环境。此时金丝雀发布无疑是合适的选择。只讲新版本的服务发布到其中的10台机器上,然后观察验证。确认没有异常之后,再更新到其余的服务器上。可以使用修改权重的方式让某几台服务器优先被访问。
A/B测试
A/B测试不同于蓝绿发布和金丝雀发布,前两种方式是一种发布策略,目标是确保新上线的服务是否问题,是否存在BUG隐患等等。而A/B测试完全是一种效果测试,它允许多个版本的服务同时对外提供访问,比如A版本的主题是蓝色,B版本的主题是红色,然后对比不同版本的用户量,最终选出最合适的版本。
写作不易,转载请注明出处,谢谢~~
转载于:https://www.cnblogs.com/ccbloom/p/11238957.html
蓝绿发布、金丝雀发布、A/B测试相关推荐
- OpenShift 4 Hands-on Lab (3) - 应用部署和切换策略(蓝绿、金丝雀和A/B、回滚)
<OpenShift 4.x HOL教程汇总> 说明:本文已经在OpenShift 4.8环境中验证 文章目录 应用上线部署策略 蓝绿部署 金丝雀发布和A/B测试 通过调整Route权重实 ...
- 蓝绿发布金丝雀发布灰度发布滚动发布AB测试
金丝雀不是说它外形漂亮或有特点,而是说它对瓦斯很灵敏. 这些名字玄而又玄,逼格十分高大上.到底是些啥?好像不了解一下,就完全看不懂当下流行的吹哔哔技术PPT了. 一.蓝绿发布 不停老版本,部署新版本然 ...
- 首富带你畅谈:蓝绿部署、滚动发布、灰度发布/金丝雀发布
首富带你畅谈:蓝绿部署.滚动发布.灰度发布/金丝雀发布 笔者: 张首富 时间: 2019-01-24晚 QQ群: 895291458 博客地址: www.zhangshoufu.com 根据2018年 ...
- 线上发版如何做到分批发的?详解蓝绿部署,滚动升级,A/B 测试,灰度发布/金丝雀发布
过去的 10 年里,很多大公司都在使用蓝绿部署,安全.可靠是这种部署方式的特点.蓝绿部署虽然算不上" Sliver Bullet ",但确实很实用.在有关于"微服务&qu ...
- kubernetes(七)项目部署方式:蓝绿部署,灰度发布/金丝雀发布,滚动更新
在项目迭代的过程中,不可避免需要上线进行部署. 目前项目部署的方式有很多种:像重新部署,蓝绿部署,金丝雀部署(灰度部署),滚动更新.本文简单介绍下这些常见的部署方案以及使用k8s怎么进行对应部署 重新 ...
- gateway集成nacos、loadbalancer实现自定义负载均衡器,带源码解析(cloud版本:2021.0.3|boot版本:2.7.4)[场景1:灰度发布(金丝雀发布)]
- 蓝绿部署、金丝雀发布(灰度发布)、A/B测试的准确定义
作者: 李佶澳 转载请保留:原文地址 发布时间:2018/10/23 14:02:00 说明 蓝绿部署 金丝雀发布 A/B测试 参考 说明 蓝绿部署.A/B测试.金丝雀发布,以及灰度发布.流量 ...
- 金丝雀发布、滚动更新、蓝绿发布到底有啥区别
根据 2017 年的 DevOps 发展报告,高效能组织和低效能组织在软件交付的效率上有数量级上的差异.技术组织的软件交付能力是一种综合能力,涉及众多环节,其中发布是尤为重要的环节. 作为技术人员,大 ...
- nginx-ingress蓝绿部署权重测试
kubernetes基于nginx-ingress进行蓝绿部署/金丝雀发布 测试结果汇总分析: 1.正式/灰度各一个pod ,canary权重设置 30% 发送500个请求 ,canary占147个 ...
- 蓝绿部署滚动部署金丝雀发布(灰度发布)A/B测试
在一般情况下,升级服务器端应用,需要将应用源码或程序包上传到服务器,然后停止掉老版本服务,再启动新版本.但是这种简单的发布方式存在两个问题,一方面,在新版本升级过程中,服务是暂时中断的,另一方面,如果 ...
最新文章
- 由线性回归来理解深度学习的理论基础
- 使用PowerDesigner生成Access数据库
- Java设计模式(十四):MVC设计模式
- 在Jenkins中获取GitHub对应Repository的Resource Code
- Vim+ctags+cscope+Nerdtree+Taglist入门
- R语言对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归
- ux和ui_设计社交餐厅策展应用程序— UX / UI案例研究
- 一种基于伪标签半监督学习的小样本调制识别算法
- vector 修改 java_java对vector动态数组中的对象排序,以下代码有何问题,如何修改?...
- Spring中原型prototype
- 引文工具的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- Python-----并发,并行,进程,多进程
- 理解Java7和8里面HashMap+ConcurrentHashMap的扩容策略
- 深入 javascript 之 原型和原型链!!!
- 转:HDFS研究----.Trash文件
- 使用python语言调用科大讯飞离线语音合成
- 斯坦福大学深度学习公开课cs231n学习笔记(10)卷积神经网络
- 写在回家前的最后一夜
- PostgreSQL安装以及和mysql的对比
- 海上计算距离为什么用海里,而不用公里?