Git学习笔记10

代码更新方法:

蓝绿部署:

蓝绿部署,英文名:Blue Green Deployment,是一种可以保证系统在不间断提供服务的情况下上线代码的部署方式。

如何保证系统不间断提供服务呢?

蓝绿部署的模型中包含两套集群。

在正常情况下(没有上线操作),集群A和集群B的代码版本是一致的,并且同时对外提供服务。

在有项目代码上线的时候,我们首先把一个集群(比如集群A)从负载列表中摘除,进行新版本的部署。集群B仍然继续提供服务。

当集群A升级完毕,我们把负载均衡重新指向集群A,再把集群B从负载列表中摘除,进行新版本的部署。集群A重新提供服务。

最后,当集群B也升级完成,我们把集群B也恢复到负载列表当中。这个时候,两个集群的版本都已经升级,并且对外的服务几乎没有间断过。

负载均衡是:挂一端,另外一端也要顶得住。

在用户比较少的情况下可以干这个事情。

先对一个Web服务器升级更新,再对另外一台服务器进行升级更新。

蓝绿部署是费钱,需要两套集群。

滚动更新:

滚动更新,**英文Rolling update,**同样是一种可以保证系统在不间断提供服务的情况下上线代码的部署方式。

和蓝绿部署不同的是,滚动部署对外提供服务的版本并不是非此即彼,而是在更细的粒度下平滑完成版本的升级。

如何做到细粒度平滑升级版本呢?

1台1台地进行升级、或者2台2台地进行升级、或者4台4台进行升级......或者某几台分批进行升级。

最终所有的节点都升级了版本。

容器升级很快。

第2个容器(新的版本)很快替换第1个容器。容器是轻量级的虚拟机。

蓝绿部署和滚动部署两者对比:

蓝绿部署:2套进行切换,最终实现升级的方式。切换是两者都要启动,然后负载均衡进行切换。

数据冲突的情况下,后台数据库也要进行升级。

整套升级,还是要容器方便。

滚动部署:快速地分批次升级,最终达到全部升级的目的。

在容器平台比较容易实现。

灰度发布(A/B测试,金丝雀部署

灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。

AB test就是一种灰度发布方式,**让一部分用户继续用A,一部分用户开始用B,**如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。

游戏公司的内测体验。

政府政策试点。

灰度发布可以保证整体系统的稳定,**在初始灰度的时候就可以发现、调整问题,以保证其影响度,**而我们平常所说的金丝雀部署也就是灰度发布的一种方式。

比较平滑,保证整体的稳定。及时发现和调整问题。

金丝雀:试点。

灰度发布/金丝雀部署步骤:

  1. 准备好部署各个阶段的工件,包括:构建工件,测试脚本,配置文件和部署清单文件。

  2. 从负载均衡列表中移除掉"金丝雀"服务器。(把权重调为0,新的请求就不找你,老的流量会断。)

  3. 升级"金丝雀"应用(排掉原有流量并进行部署)。

  4. 对应用进行自动化测试。

  5. 将"金丝雀"服务器重新添加到负载均衡列表中(连通性和健康检查)。(把权重改为原来的值。)

  6. 如果"金丝雀"在线使用测试成功,升级剩余的其他服务器。(否则就回滚

除此之外灰度发布还可以设置路由权重,动态调整不同的权重来进行新老版本的验证。

滚动更新:在容器中比较容易实现。

相关推荐
qq_435287929 分钟前
第9章 夸父逐日与后羿射日:死循环与进程终止?十个太阳同时值班的并行冲突
java·开发语言·git·死循环·进程终止·并行冲突·夸父逐日
热爱运维的小七6 小时前
告别内存溢出:ActiveMQ 性能诊断与全流程优化
数据库·it运维·activemq·devops
AIMath~7 小时前
Git 子模块(Submodule)目录结构清除实战复盘
git
切糕师学AI8 小时前
Ubuntu 下 Git 完全使用指南
linux·git·ubuntu
一袋米扛几楼989 小时前
【Git】规范化协作:详解 GitHub 工作流中的 Issue、Branch 与 Pull Request 最佳实践
前端·git·github·issue
尘埃落定wf10 小时前
# GitHub CLI:告别繁琐的 Git 命令,让开发更高效
git·github
恋喵大鲤鱼10 小时前
git clone
git·git clone
金牛IT12 小时前
Gogs 轻量级 Git 服务器搭建与使用
运维·服务器·git
云达闲人13 小时前
搭建DevOps企业级仿真实验环境:007Proxmox 虚拟机模板制作
devops·proxmox ve·虚拟化运维·虚拟机模板制作·pve 模板·企业级仿真实验环境·虚拟机克隆
云达闲人13 小时前
搭建DevOps企业级仿真实验环境:006Proxmox 基础环境验证
运维·devops·proxmox ve·sre·仿真实验环境·快照与克隆·运维实操教程