当前位置: 首页 > news >正文

无感知发布

什么是无感知发布

"无感知发布"是指在软件系统或应用程序进行更新或升级时,尽可能地避免对用户或系统的正常运行产生影响或中断。这种发布方式通常采用一系列技术和策略,以确保新版本的软件可以平滑地替代旧版本,而不会造成用户的感知或系统的停机时间。

无感知发布技术手段

  • 负载均衡
  • 分布式架构
  • 容器化

有感知发布-蓝绿发布(Blue Green Deployment)

在蓝绿部署中,存在两个完全独立的环境,一个是当前正在运行的稳定版本(蓝环境),另一个是新版本(绿环境)。首先将新版本部署到绿环境中,并进行测试和验证。一旦新版本通过测试,流量可以逐渐从蓝环境切换到绿环境,实现平滑的切换,这种方式会有短暂停服。

1.滚动发布(Rolling Update)

基于负载均衡,可以同通过Docker+K8S实现。

逐个(或小批量)上线服务实例,每上线一个(或小批量)实例,则观察是否正常,正常后再上线下线一个(或小批量)实例,异常则进行回滚。这种方式着眼于逐步增加服务实例,而不是着眼于接入流量。如果系统总共N个实例,已上线M个实例,则新版本接入的流量为M/N

2.灰度发布(Gray Release)

基于负载均衡、分布式架构、容器化技术。

又名Dark Launch或Canary Deployment。

灰度发布与滚动发布相比,区别在于它更加考虑的是逐步将流量引入到新版本实例中,而不是发布了多少个新版本实例,下线了多少个旧版本实例。比如先将10%的流量引入新版本,然后增加到20%,然后50%,80%,100%等等,直到所有流量到引入到新版本中。

3.渐进式发布(Progressive Deployment)

渐进式发布是逐步将新版本部署到生产环境中,并将其功能或变更逐步展示给用户。可以使用分段式或按百分比的方式,逐渐增加新版本的流量比例。这种方式可以平滑地引入新功能,并在观察到稳定性后逐步增加使用率。

http://www.lryc.cn/news/129370.html

相关文章:

  • C++ 虚继承
  • git commit用法
  • 【LeetCode】543.二叉树的直径
  • TypeScript教程(五)条件语句,循环,函数
  • vue使用jsplumb 流程图
  • 【BASH】回顾与知识点梳理(二十八)
  • LangChain源码逐行解密之系统(二)
  • QT的设计器介绍
  • [LitCTF 2023]Ping
  • Spring Cloud面试突击班1
  • 线上售楼vr全景看房成为企业数字化营销工具
  • “深入探索JVM内部机制:解密Java虚拟机原理“
  • 最长 上升子序列
  • Nginx的介绍
  • [杂项]奥特曼系列影视列表大全
  • java代码日记--java 基础语法
  • Spring中的IOC与DI-细胞内物质与传递
  • 【探索Linux】—— 强大的命令行工具 P.5(yum工具、git 命令行提交代码)
  • jdbc 使用rewriteBatchedStatements=true后,报错
  • 第G1周:生成对抗网络(GAN)入门
  • Stable Diffusion基础:ControlNet之图片高仿效果
  • TCGA数据下载推荐:R语言easyTCGA包
  • JLSX 模版指令导出Excel
  • 【制作npm包3】了解 tsconfig.json 相关配置
  • 【0基础入门Python笔记】一、python 之基础语法、基础数据类型、复合数据类型及基本操作
  • 2023-08-18力扣每日一题
  • mac M1安装opencv方法及类型报错解决
  • Screen终端管理工具
  • 【python自动化办公】PysimpleGUI官网案例全部项目代码文件及运行截图
  • 9.处理this和防抖、节流