热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

蓝绿部署、滚动部署、金丝雀发布(灰度)、A/B测试的简介

系统、更

个人理解对几种更新发布的方式做一个记录,欢迎探讨!


蓝绿部署




  • 蓝绿部署中有两套独立的系统,一套正式环境系统进行对外服务,被标记为蓝色 。再部署一套新版本开发的环境进行测试开发,被标记为绿色。待标新版本的系统经过测试满足上线要求后,把新版本正式对外发布,正式环境系统下线就,此过程称为蓝绿部署。

  • 新版本正式环境变为蓝色,下线后的系统可转为绿色再次进行新版本的开发。


微信图片_20221102104633.jpg

金丝雀(灰度)发布

image.png




  • 现有集群中选取几个节点进行新版本的部署上线(经过测试允许上线),大多数节点以老版本允许,小部分以新版本运行,经过用户的访问确认新版本是否符合预期需求,满足就对大部分节点进行更新,最终完成集群的升级。未满足需求,就回退小部分的节点等待再次测试上线进行部署。


滚动部署


滚动发布能够解决掉蓝绿部署时对硬件要求增倍的问题。




  • 所谓滚动发布,就是在发布过程中,并不一下子启动所有新版本,而是先启动一台新版本,再停止一台老版本,然后再启动一台新版本,再停止一台老版本,直到全部发布完成,这样的话,如果当前需要10台服务器支撑服务,那么升级过程中一共只需要11台就行了。





  • 但是滚动发布有一个问题,在开始滚动发布后,流量会直接流向已经启动起来的新版本,但是这个时候,新版本是不一定稳定/符合预期的,可能需要进一步的测试才能确认。那么在滚动发布期间,整个系统就处于较为不稳定的状态,如果发现了问题,也比较难以确定是新版本还是老版本造成的问题。

    为了解决这个问题,我们需要为滚动发布实现流量控制能力。也就是下面的金丝雀发布/灰度发布。


A/B测试




  • -A/B测试和蓝绿部署、金丝雀完全是两回事。

    蓝绿部署和金丝雀是发布策略,目标是确保新上线的系统稳定,关注的是新系统的BUG、隐患。

    A/B测试是效果测试,同一时间有多个版本的服务对外服务,这是服务都是经过足够的测试,达到了上线标准的服务,有差异但是没有新旧之分。(它们上线的时候可能采用了蓝绿部署的方式)

    A/B测试关注的是不同版本的服务的实际效果,譬如说转化率、订单情况等。

  • A/B测试时,线上同时运行多个版本的服务,这些服务通常会有一些体验上的差异,例如页面样式、颜色、操作流程不同。相关人员通过分析各个版本服务的实际效果,选出效果最好的版本。



参考文章:https://ixyzero.com/blog/archives/4722.html


推荐阅读
  • 短暂的人生中,IT和技术只是其中的一部分。无论换工作还是换行业,最终的目标是成功、荣誉和收获。本文探讨了技术人员如何跳出纯技术的局限,实现更大的职业发展。 ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • MongoDB核心概念详解
    本文介绍了NoSQL数据库的概念及其应用场景,重点解析了MongoDB的基本特性、数据结构以及常用操作。MongoDB是一个高性能、高可用且易于扩展的文档数据库系统。 ... [详细]
  • 经过三轮严格的面试,终于顺利加入沪江网。虽然在团队开发方面还有待提升,但充满信心和期待,希望能在这里不断学习和成长。 ... [详细]
  • 阿里云服务器搭建详解——Ubuntu
    由于自己电脑配置跟不上,双系统一开,整个电脑就会变得非常卡顿,所以决定在阿里云买一个云服务器。听朋友说,学生买的话是非常便宜 ... [详细]
  • 使用HTML和JavaScript实现视频截图功能
    本文介绍了如何利用HTML和JavaScript实现从远程MP4、本地摄像头及本地上传的MP4文件中截取视频帧,并展示了具体的实现步骤和示例代码。 ... [详细]
  • 小程序的授权和登陆
    小程序的授权和登陆 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • 使用ArcGIS for Java和Flex浏览自定义ArcGIS Server 9.3地图
    本文介绍了如何在Flex应用程序中实现浏览自定义ArcGIS Server 9.3发布的地图。这是一个基本的入门示例,适用于初学者。 ... [详细]
  • 结城浩(1963年7月出生),日本资深程序员和技术作家,居住在东京武藏野市。他开发了著名的YukiWiki软件,并在杂志上发表了大量程序入门文章和技术翻译作品。结城浩著有30多本关于编程和数学的书籍,其中许多被翻译成英文和韩文。 ... [详细]
  • 字符串学习时间:1.5W(“W”周,下同)知识点checkliststrlen()函数的返回值是什么类型的?字 ... [详细]
  • 探索Web 2.0新概念:Widget
    尽管你可能尚未注意到Widget,但正如几年前对RSS的陌生一样,这一概念正逐渐走入大众视野。据美国某权威杂志预测,2007年将是Widget年。本文将详细介绍Widget的定义、功能及其未来发展趋势。 ... [详细]
  • 本文详细介绍了 ASP.NET 中用于文件上传的控件及其使用方法,包括常见的 FileUpload 控件和其他相关技术。 ... [详细]
author-avatar
坏坏纯1990_440
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有