云原生专栏丨基于服务网格的企业级灰度发布技术

news2024/11/15 8:26:11

灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。众所周知,灰度发布是一种非常有效的技术策略,可以帮助企业保证系统的可靠性和稳定性,同时也能够快速迭代和优化功能。在竞争激烈的市场环境下,只有不断创新和优化,才能赢得更多的用户和市场份额。因此,采用灰度发布策略可以帮助企业在竞争中立于不败之地。

下面通过一个示例来说明整个灰度发布使用场景:

某公司的电商平台需要发布一项重要的功能,叫做“秒杀活动”。

这个活动允许用户在特定的时间段内,以很低的价格购买某些商品,可以吸引更多的用户,并且让这个平台在竞争中占据更大的优势。但活动会带来一定的风险:由于用户数量巨大,如果在高峰期不能很好地处理用户请求,那么就会出现系统崩溃的情况,导致大量的用户无法正常购物,带来不好的购物体验,那我们就需要提前做好风险规避,保证活动良好的用户体验感:

1、需要在保证系统可靠性和稳定性的前提下,确保用户的体验不会受到影响;

2、需要时刻关注系统的性能和资源使用情况,及时采取措施解决潜在的问题;

3、 他们需要和其他团队密切合作,确保所有的功能都能顺利协同工作。

这里就就需要用到灰度发布策略,具体步骤如下:首先,一个小范围内部署了“秒杀活动”功能,只接受部分用户的请求,收集性能和稳定性数据。通过分析这些数据,他们发现了一些潜在的问题,并进行了修复;其次,他们继续扩大灰度范围,让更多的用户参与进来;最后,当他们的系统足够稳定时,就将“秒杀活动”功能部署到所有节点上。

在现代软件开发中,灰度发布已经成为了一个非常重要的策略,越来越多的企业开始采用它来优化产品和服务。但灰度发布也有一些挑战和风险,比如需要付出更多的时间和资源来管理和优化,以及需要建立更加复杂的系统架构。因此,企业需要在采用灰度发布前仔细评估自身的情况和需求,确保能够有效地实现这个策略。

浪潮海岳iGIX云原生平台基于服务网格技术,采用集中式的流量控制和监控机制,实现细粒度的灰度发布控制,同时通过可观察性和自动回滚机制,实现了灰度版本的性能和稳定性的实时评估,降低灰度发布的风险。

主要特性:

  1. 支持通用的企业级灰度部署模型:结合多年企业支持经验,对灰度部署模型进行抽象,形成了通用的企业级灰度发布模型,通过少量操作即可完成企业级应用的灰度发布;

  2. 支持多种灰度发布模型:支持蓝绿和金丝雀灰度发布模型,支持支持按照细粒度控制流量百分比(如路由5% 的流量到灰度版本)和路由规则(如url、headers等)的灰度路由策略;

  3. 支持多种灰度用户染色方案:支持管理员配置和用户自主选择的多种灰度染色方案,其中管理员配置是根据用户的角色及其承担的不同任务,配置不同用户访问产品的不同版本,精确地把受影响的流量控制在一定范围内,实现精细的流量控制;用户自主选择是用户根据自身的需求,选择使用不同的产品版本,实现对不同版本的灵活访问;

  4. 支持灰度发布应用的实时监控:通过提供了灰度发布的规则拓扑图和链路跟踪图,对灰度发布应用进行实时监控,帮助用户更加直观的了解已配置的灰度发布的规则,追踪流量具体去向信息,以便对新版本的性能和稳定性进行更好的评估;

  5. 支持灰度发布的全生命周期管理:通过直观友好的图形界面和简单的操作,支持对灰度应用的打包、部署、运维和监控的全生命周期的管理,提升运维人员的效率。


最后插个安利,inBuilder低代码平台开源社区版,可免费下载、免费试用,大家可点击下载体验。

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

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

相关文章

函数式编程框架 functionaljava 简介

文章目录 一、函数式编程起源二、functionaljava 框架简介 一、函数式编程起源 ​ 函数式编程起源于数理逻辑(范畴论,Category Theory),起源于λ演算,这是一种演算法,它定义一些基础的数据结构&#xff0c…

人力资源小程序

人力资源管理对于企业的运营至关重要,而如今随着科技的发展,制作一个人力资源小程序已经变得非常简单和便捷。在本文中,我们将为您介绍如何通过乔拓云网制作一个人力资源小程序,只需五个简单的步骤。 第一步:注册登录乔…

【开源】基于Vue.js的智能教学资源库系统

项目编号: S 050 ,文末获取源码。 \color{red}{项目编号:S050,文末获取源码。} 项目编号:S050,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课…

黑马程序员 计算机网络(笔记)

参考文章:【黑马程序员】计算机网络概述~ 程序员必须掌握的入门基础知识! 参考文章:黑马程序员Linux运维工作场景解决方案零基础到就业 参考文章:网络安全运维进阶教程,运维工程师深度学习教程 文章目录 linux入门到…

Windows核心编程 静态库与动态库

资源文件 .rc 文件 会被 rc.exe 变成 .res 文件(二进制文件) 在链接时链接进入 .exe 文件 一、如何保护源码 程序编译链接过程 不想让别人拿到源代码,但是想让其使用功能,根据上图观察,把自己生成的obj给对方,对方拿到obj后&…

nodejs+vue实验室上机管理系统的设计与实现-微信小程序-安卓-python-PHP-计算机毕业设计

用户:管理员、教师、学生 基础功能:管理课表、管理机房情况、预约机房预约;权限不同,预约类型不同,教师可选课堂预约和个人;课堂预约。 在实验室上机前,实验室管理员需要对教务处发来的上机课表…

Spring 配置

配置文件最主要的目的 : 解决硬编码的问题(代码写死) SpringBoot 的配置文件,有三种格式 1.properties 2.yaml 3.yml(是 yaml 的简写) SpringBoot 只支持三个文件 1.application.properties 2.application.yaml 3.application.yml yaml 和 yml 是一样的,学会一个就行…

SpringCloud微服务注册中心:Nacos介绍,微服务注册,Ribbon通信,Ribbon负载均衡,Nacos配置管理详细介绍

微服务注册中心 注册中心可以说是微服务架构中的”通讯录“,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就这里找到服务的地址,进行调用。 微服务注册中心 服务注…

PyTorch神经网络-激励函数

在PyTorch 神经网络当中,使用激励函数处理非线性的问题,普通的神经网络出来的数据一般是线性的关系,但是遇到比较复杂的数据的话,需要激励函数处理一些比较难以处理的问题,非线性结果就是其中的情况之一。 FAQ:为什么要…

LV.12 D18 中断处理 学习笔记

一、ARM的异常处理机制及工程代码结构 1.1异常概念 处理器在正常执行程序的过程中可能会遇到一些不正常的事件发生 这时处理器就要将当前的程序暂停下来转而去处理这个异常的事件 异常事件处理完成之后再返回到被异常打断的点继续执行程序。 1.2异常处理机制 不同的处…

【算法】滑动窗口题单——2.不定长滑动窗口(求最长/最大)

文章目录 3. 无重复字符的最长子串1493. 删掉一个元素以后全为 1 的最长子数组904. 水果成篮1695. 删除子数组的最大得分2841. 几乎唯一子数组的最大和2024. 考试的最大困扰度1004. 最大连续1的个数 III1438. 绝对差不超过限制的最长连续子数组2401. 最长优雅子数组解法1——维…

nodejs微信小程序-实验室上机管理系统的设计与实现-安卓-python-PHP-计算机毕业设计

用户:管理员、教师、学生 基础功能:管理课表、管理机房情况、预约机房预约;权限不同,预约类型不同,教师可选课堂预约和个人;课堂预约。 目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 …

容斥 C. Strange Function改编题

补题: 题目详情 - 9.段坤爱取模%%% - SUSTOJ 本题或许是参考 Problem - C - Codeforces 根据题意,f(i)就是不能被整除的最小的一个质因子。 打表发现,当15个质因子相乘后,长度就大于18。 因此可以知道小于等于1e16内的正整数x…

(动手学习深度学习)第13章 计算机视觉---微调

文章目录 微调总结 微调代码实现 微调 总结 微调通过使用在大数据上的恶道的预训练好的模型来初始化模型权重来完成提升精度。预训练模型质量很重要微调通常速度更快、精确度更高 微调代码实现 导入相关库 %matplotlib inline import os import torch import torchvision f…

java文件压缩加密,使用流的方式

使用net.lingala.zip4j来进行文件加密压缩。 添加依赖net.lingala.zip4j包依赖&#xff0c;这里使用的是最新的包2.11.5版本。 <dependency><groupId>net.lingala.zip4j</groupId><artifactId>zip4j</artifactId><version>${zip4j.versi…

丹麦能源袭击预示着更关键的基础设施成为目标

5 月&#xff0c;22 个丹麦能源部门组织在与俄罗斯 Sandworm APT 部分相关的攻击中受到损害。 丹麦关键基础设施安全非营利组织 SektorCERT 的一份新报告描述了不同的攻击者群体利用合勤防火墙设备中的多个关键漏洞&#xff08;包括两个零日漏洞&#xff09;侵入工业机械&…

Dockerfile自定义镜像以及案例分析

文章目录 一、Dockerfile自定义镜像1.1 镜像结构1.2 Dockerfile语法 二、构建Java项目三、基于java8构建java四、小结 一、Dockerfile自定义镜像 常见的镜像在DockerHub就能找到&#xff0c;但是我们自己写的项目就必须自己构建镜像了。 而要自定义镜像&#xff0c;就必须先了…

boomYouth

上一周实在是过得太颓废了&#xff0c;我感觉还是要把自己的规划做好一下&#xff1a; 周计划 这周截至周四&#xff0c;我可以用vue简单的画完登陆注册的界面并且弄一点预处理&#xff1a; 周一 的话可以把这些都学一下&#xff1a; 父传子&#xff0c;子传父&#xff1a…

配置iTerm2打开自动执行命令

打开iTerm2&#xff0c;commado&#xff0c;打开profies->edit profies&#xff0c;点击号&#xff0c;创建一个新的profile 在新的profile中填写 name&#xff1a;随意 command&#xff1a;Login Shell Send text at start&#xff1a;执行脚本的命令&#xff0c;不想写路…

python django 小程序图书借阅源码

开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…