Git学习笔记10

news2024/12/23 15:21:05

代码更新方法:

蓝绿部署:

蓝绿部署,英文名: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. 如果“金丝雀”在线使用测试成功,升级剩余的其他服务器。(否则就回滚

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1024770.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ElementPlus·表单验证

表单验证作用&#xff1a;省去一些错误的请求提交&#xff0c;节省后端接口压力。简单配置、自定义配置&#xff0c;最后进行统一校验工作。 如何校验 及 校验步骤&#xff1a; 简单配置 <script setup> // 表单对象 const form ref({对象: 值 })// 规则对象 const ru…

21. 概率与统计 - 数学期望、统计描述分布

文章目录 数学期望方差标准差协方差二项分布高斯分布中心极限定理泊松分布Hi, 你好。我是茶桁。 在上一节中,我们最后有谈到随机变量。在概率论几统计学中,描述一个随机变量的离散程度的有方差、标准差等等。那么在这节课中,我们就来好好看看这些概念。 不过在这之前呢,我…

【音视频】FLV封装格式

基本概念 文件头(Header)文件体(Body) flv文件头 主要是看signture和typeflags flv文件体 重点&#xff1a;Tag包数据 Tag结构详细说明 注意&#xff1a; 每个Tag的头字段DataSize只是该Tag下data部分的大小&#xff0c;不包括Tag的header部分的大小 音频 AudioTag Data 所在…

若依+lodop+jasperreports+ireport 设计打印票据格式(二)

若依lodopjasperreportsireport 设计打印票据格式&#xff08;二&#xff09; 使用Field绑定Java传入数据 设计页表页数和当前页号 ![在这里插入图片描述](https://img-blog.csdnimg.cn/7091542bd5954845b8fcf39d71d4c9e4.png#pic_cente![在这里插入图片描述](https://img-bl…

[Vue] 绑定下拉菜单

写在前面 同学们&#xff0c;今天的天气很是不错&#xff0c;我们之前进行了复选框的绑定&#xff0c;这次来看看下拉菜单的绑定吧&#xff0c;因为要赶这个创作进度&#xff0c;真的只有再水一篇文章了。大家就当是饭后甜点看看就行。 苏子云 荷尽已无擎雨盖&#xff0c;菊残…

红海云荣膺「2023智享会人力资源技术供应商价值大奖」

9月19日&#xff0c;由中国高端人力资源会员组织智享会&#xff08;HREC&#xff09;主办的“2023人力资源技术供应商价值大奖”颁奖典礼隆重举行&#xff0c;红海云凭借卓越的技术实力与品牌口碑荣膺“2023 HCM系统-本地部署HR臻选供应商”。 智享会“价值大奖”系列评选被称…

基于STM32+华为云IOT设计的智能垃圾桶

一、项目介绍 在商业街、小吃街和景区等人流密集的场所&#xff0c;垃圾桶的及时清理对于提供良好的游客体验至关重要。然而&#xff0c;传统的垃圾桶清理方式通常是定时或定期进行&#xff0c;无法根据实际情况进行及时响应&#xff0c;导致垃圾桶溢满&#xff0c;影响环境卫…

钉钉stream机器人-实操详细教程

支持事件订阅、机器人收消息、卡片回调等功能 优点&#xff1a; 配置简单&#xff0c;不依赖也不需要暴露公网IP&#xff0c;无需向公网开放端口 github官方链接&#xff1a;GitHub - open-dingtalk/dingtalk-stream-sdk-python: Python SDK for DingTalk Stream Mode API, Co…

低噪声 256 细分微步进电机驱动MS35774/MS35774A(汽车应用级别)

MS35774/MS35774A 是一款高精度、低噪声的两相步进 电机驱动芯片&#xff0c;芯片内置功率 MOSFET&#xff0c;长时间工作的平均电 流可以达到 1.4A&#xff0c;峰值电流 2A。芯片集成了过温保护、欠压 保护、过流保护、短地保护、短电源保护功能。 主要特点 ◼ 2 相步进电机…

excel subtotal 函数(分类汇总)

函数说明 返回列表中的分类汇总。 语法 SUBTOTAL(function_num,ref1,[ref2],...) SUBTOTAL 函数语法具有以下参数&#xff1a; Function_num 必需。 数字 1-11 或 101-111&#xff0c;用于指定要为分类汇总使用的函数。 如果使用 1-11&#xff0c;将包括手动隐藏的行&…

glTF模型骨骼动画

推荐&#xff1a;使用 NSDT场景编辑器快速搭建3D应用场景 本文详细演示了风车动画的制作过程&#xff1a; 当然&#xff0c;这非常容易硬编码&#xff08;有两个对象&#xff0c;一个静态的&#xff0c;一个旋转的&#xff09;。但是&#xff0c;我计划稍后添加更多动画&#…

GIF动图怎么变成jpg动图?一键分解GIF动画

GIF格式图片怎么转换成jpg格式图片&#xff1f;在日常生活中jpg、png转GIF格式非常的常见&#xff0c;那么gif转换成jpg格式应该怎么操作呢&#xff1f;很简单&#xff0c;给大家分享一款gif动态图片制作&#xff08;https://www.gif.cn/giffenjie&#xff09;工具&#xff0c;…

51单片机项目(12)——基于51单片机的智能台灯设计

本次设计的功能如下&#xff1a; 首先使用PCF8591芯片&#xff0c;实现了AD DA转换&#xff0c;AD采集的是光敏电阻的信息&#xff0c;光照强度越强&#xff0c;电压越小&#xff0c;AD采集到的数值越小。同时将AD采集的数字量作为DA输出时的输入量&#xff0c;模拟输出端接了…

技术对比:Flutter vs. 传统桌面应用开发框架

在移动应用开发领域&#xff0c;Flutter已经赢得了广泛的认可和采用&#xff0c;成为了跨平台移动应用开发的瑞士军刀。然而&#xff0c;Flutter的魅力并不仅限于移动平台&#xff0c;它还可以用于开发桌面应用程序&#xff0c;为开发人员提供了一种全新的选择。本文将深入探讨…

react 路由的使用

react-router-dom 专注于web网页开发 下载依赖&#xff0c;这里使用的版本是5 npm install react-router-dom5 1.路由的基本使用,点击左侧菜单进行高亮&#xff08;进行高亮要使用NavLink&#xff0c;使用了NavLink,会根据 activeClassName"active"找到active的cl…

Vue基础语法的进阶,事件处理器,自定义组件及组件通信

目录 一、事件处理器 1. 概述 2. 实例 二、语法整合 1. 作用 2. 实例 三、自定义组件 1. 概述 2. 实例 四、组件通信 ( 1 ) 讲述 ( 2 ) 父传子 ( 3 ) 子传父 学习后的收获 一、事件处理器 1. 概述 在Vue中&#xff0c;事件处理器是用来处理DOM事件的方法。它…

ubuntu20.04 安装 pyconcorde

这个包似乎对网络环境要求挺高的&#xff0c;我们直接弄个 射线A型号 的飞机 直接使用 pip install pyconcorde 安装&#xff0c;发现在使用里面的包时会报奇怪的错误&#xff0c;于是决定寻找 github 上的 pyconcorde 源码&#xff0c;看文档进行安装 github 地址&#xff1…

msvcp140.dll重新安装的解决方法是什么?(最新方法)

msvcp140.dll 是 Microsoft Visual C Redistributable 的一个动态链接库文件&#xff0c;它包含了 C 运行时库的一些函数和类&#xff0c;对于许多应用程序和游戏来说都是必需的。如果您的系统中缺失了这个文件&#xff0c;可能会导致程序无法正常运行。下面我们将分享修复 msv…

【C++笔记】C++ list类模拟实现

【C笔记】C list类模拟实现 一、初始化和各种构造1.1、准备工作1.2、各种构造和析构 二、插入和删除2.1、插入2.2、删除 三、迭代器3.1、正向迭代器3.2、反向迭代器3.3、提供迭代器位置 四、其他一些接口4.1、链表的长度和判空4.2、返回链表的头尾结点 一、初始化和各种构造 C…

面试题 17.08. 马戏团人塔

题目链接 面试题 17.08. 马戏团人塔 mid 题目描述 有个马戏团正在设计叠罗汉的表演节目&#xff0c;一个人要站在另一人的肩膀上。出于实际和美观的考虑&#xff0c;在上面的人要比下面的人矮一点且轻一点。已知马戏团每个人的身高和体重&#xff0c;请编写代码计算叠罗汉最多…