通常,生产环境中的项目发布方式包括后面三种:蓝绿发布、金丝雀发布、A/B测试。下面是个人的一些理解,有问题请指正,谢谢。

蓝绿发布

  两套一模一样的生产环境,且两者之间没有耦合情况。对外提供服务的一套为绿色环境,不对外的一套为蓝色环境。如果有新功能先发布到蓝色环境,不影响绿色环境的使用。反复测试修改验证没有问题后,将用户切到蓝色环境,切换后的一段时间内,如果有问题再切回绿色环境。如果没有问题,蓝色环境就成为新的绿色环境,原绿色环境释放,用于部署下一个蓝色环境。

金丝雀发布

  也就是常说的灰度发布。假设你有几百台甚至上千台服务器,你不可能申请这么多主机再部署一套所谓的蓝色环境。此时金丝雀发布无疑是合适的选择。只讲新版本的服务发布到其中的10台机器上,然后观察验证。确认没有异常之后,再更新到其余的服务器上。可以使用修改权重的方式让某几台服务器优先被访问。

A/B测试

  A/B测试不同于蓝绿发布和金丝雀发布,前两种方式是一种发布策略,目标是确保新上线的服务是否问题,是否存在BUG隐患等等。而A/B测试完全是一种效果测试,它允许多个版本的服务同时对外提供访问,比如A版本的主题是蓝色,B版本的主题是红色,然后对比不同版本的用户量,最终选出最合适的版本。


写作不易,转载请注明出处,谢谢~~

转载于:https://www.cnblogs.com/ccbloom/p/11238957.html

蓝绿发布、金丝雀发布、A/B测试相关推荐

  1. OpenShift 4 Hands-on Lab (3) - 应用部署和切换策略(蓝绿、金丝雀和A/B、回滚)

    <OpenShift 4.x HOL教程汇总> 说明:本文已经在OpenShift 4.8环境中验证 文章目录 应用上线部署策略 蓝绿部署 金丝雀发布和A/B测试 通过调整Route权重实 ...

  2. 蓝绿发布金丝雀发布灰度发布滚动发布AB测试

    金丝雀不是说它外形漂亮或有特点,而是说它对瓦斯很灵敏. 这些名字玄而又玄,逼格十分高大上.到底是些啥?好像不了解一下,就完全看不懂当下流行的吹哔哔技术PPT了. 一.蓝绿发布 不停老版本,部署新版本然 ...

  3. 首富带你畅谈:蓝绿部署、滚动发布、灰度发布/金丝雀发布

    首富带你畅谈:蓝绿部署.滚动发布.灰度发布/金丝雀发布 笔者: 张首富 时间: 2019-01-24晚 QQ群: 895291458 博客地址: www.zhangshoufu.com 根据2018年 ...

  4. 线上发版如何做到分批发的?详解蓝绿部署,滚动升级,A/B 测试,灰度发布/金丝雀发布

    过去的 10 年里,很多大公司都在使用蓝绿部署,安全.可靠是这种部署方式的特点.蓝绿部署虽然算不上" Sliver Bullet ",但确实很实用.在有关于"微服务&qu ...

  5. kubernetes(七)项目部署方式:蓝绿部署,灰度发布/金丝雀发布,滚动更新

    在项目迭代的过程中,不可避免需要上线进行部署. 目前项目部署的方式有很多种:像重新部署,蓝绿部署,金丝雀部署(灰度部署),滚动更新.本文简单介绍下这些常见的部署方案以及使用k8s怎么进行对应部署 重新 ...

  6. gateway集成nacos、loadbalancer实现自定义负载均衡器,带源码解析(cloud版本:2021.0.3|boot版本:2.7.4)[场景1:灰度发布(金丝雀发布)]

  7. 蓝绿部署、金丝雀发布(灰度发布)、A/B测试的准确定义

    作者: 李佶澳   转载请保留:原文地址   发布时间:2018/10/23 14:02:00 说明 蓝绿部署 金丝雀发布 A/B测试 参考 说明 蓝绿部署.A/B测试.金丝雀发布,以及灰度发布.流量 ...

  8. 金丝雀发布、滚动更新、蓝绿发布到底有啥区别

    根据 2017 年的 DevOps 发展报告,高效能组织和低效能组织在软件交付的效率上有数量级上的差异.技术组织的软件交付能力是一种综合能力,涉及众多环节,其中发布是尤为重要的环节. 作为技术人员,大 ...

  9. nginx-ingress蓝绿部署权重测试

    kubernetes基于nginx-ingress进行蓝绿部署/金丝雀发布 测试结果汇总分析: 1.正式/灰度各一个pod ,canary权重设置 30% 发送500个请求 ,canary占147个 ...

  10. 蓝绿部署滚动部署金丝雀发布(灰度发布)A/B测试

    在一般情况下,升级服务器端应用,需要将应用源码或程序包上传到服务器,然后停止掉老版本服务,再启动新版本.但是这种简单的发布方式存在两个问题,一方面,在新版本升级过程中,服务是暂时中断的,另一方面,如果 ...

最新文章

  1. 由线性回归来理解深度学习的理论基础
  2. 使用PowerDesigner生成Access数据库
  3. Java设计模式(十四):MVC设计模式
  4. 在Jenkins中获取GitHub对应Repository的Resource Code
  5. Vim+ctags+cscope+Nerdtree+Taglist入门
  6. R语言对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归
  7. ux和ui_设计社交餐厅策展应用程序— UX / UI案例研究
  8. 一种基于伪标签半监督学习的小样本调制识别算法
  9. vector 修改 java_java对vector动态数组中的对象排序,以下代码有何问题,如何修改?...
  10. Spring中原型prototype
  11. 引文工具的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  12. Python-----并发,并行,进程,多进程
  13. 理解Java7和8里面HashMap+ConcurrentHashMap的扩容策略
  14. 深入 javascript 之 原型和原型链!!!
  15. 转:HDFS研究----.Trash文件
  16. 使用python语言调用科大讯飞离线语音合成
  17. 斯坦福大学深度学习公开课cs231n学习笔记(10)卷积神经网络
  18. 写在回家前的最后一夜
  19. PostgreSQL安装以及和mysql的对比
  20. 海上计算距离为什么用海里,而不用公里?

热门文章

  1. HTTP代理服务器有哪些
  2. 互联网晚报 | 06月07日 星期二 | 杭州调整住房公积金政策;苹果发布iOS 16;特斯拉回应裁员是否涉及中国地区...
  3. 转:钉钉群直播提取视频文件-电脑版
  4. 2022第四届中国(山东)国际大健康产业博览会,即将开幕
  5. Android项目仓库配置国内加速阿里云镜像
  6. 【小y设计】二维码条形码打印编辑器
  7. 大数据是什么,大数据的主要特点是什么?
  8. 第939期机器学习日报(2017-04-14)
  9. 光速掌握史上最全--计算机数制转换
  10. PGSQL 模糊查询不区分大小写