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

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

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

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

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

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

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

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

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

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

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

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

主要特性:

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

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

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

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

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


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


http://www.kler.cn/news/134322.html

相关文章:

  • Go语言常用命令详解(二)
  • 【手写数据库toadb】数据库planner的整体架构,以及逻辑查询树的设计与实现流程
  • 深度学习损失函数
  • 微信小程序手写table表格
  • DevToys:开发者的多功能瑞士军刀,让编程更高效!
  • python基础 | 类与继承
  • 小迪安全笔记(2)——web应用架构搭建漏洞HTTP数据包代理服务器
  • hive sql多表练习
  • 【原创】WeChat Server搭建
  • 【开源】基于Vue和SpringBoot的教学过程管理系统
  • 【C++】【Opencv】霍夫直线检测即cv::HoughLinesP()函数详解和示例
  • 深度学习:到底怎么理解embedding
  • 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】
  • 控制您的音乐、视频等媒体内容
  • 精通Nginx(15)-支持CORS
  • 基于单片机音乐弹奏播放DS1302万年历显示及源程序
  • 论文速览 Arxiv 2023 | DMV3D: 单阶段3D生成方法
  • 音视频技术在手机上的应用与挑战
  • GPT-4要点内容记录
  • 迪克森电荷泵
  • 网络割接用VRRP替换HSRP
  • 二叉树oj题集(LeetCode)
  • vnodeToString函数把vnode转为string(innerhtml)
  • Rust动态数组Vec
  • Linux调试器---gdb的使用
  • Spark 平障录
  • c++中的特殊类设计
  • Linux——编译器gcc/g++、调试器gdb以及自动化构建工具makefilemake详解
  • 【数据库表及字段统计SQL】【mysql】【clickhouse】【oracle】
  • AIGC之Stable Diffusion