首页 > 其他分享 >阿里云 MSE + ZadigX ,无门槛实现云原生全链路灰度发布

阿里云 MSE + ZadigX ,无门槛实现云原生全链路灰度发布

时间:2023-08-02 18:03:08浏览次数:42  
标签:服务 name spring ZadigX 灰度 MSE cloud

作者:ZadigX

企业发布现状痛点

目前企业在选择和实施发布策略时面临以下困境:

1. 缺乏云原生能力: 由于从传统部署转变为云原生模式后,技术架构改造需要具备相关能力的人才。这使得企业在发布策略方面难以入手。

2. 缺乏自动化平台支持: 即使找到适合产品现状的发布策略,仍然依赖手工逐步执行。这可能导致流程遗漏或人工操作失误,造成生产事故的风险。

3. 发布效率低下: 仅实现了服务级别的灰度能力,逐个发布服务耗时长,导致发布过程缓慢,验证效果不佳。

针对以上问题,ZadigX 与阿里云 MSE 联合发布**「面向开发者的全链路灰度发布解决方案」**,帮助企业应对这些痛点。

阿里云 MSE 为 Java 应用提供了便捷实现全链路灰度的能力。MSE 微服务引擎是基于 Java Agent 实现的无侵入式企业生产级服务治理产品,不需要修改任何一行业务代码,即可拥有不限于全链路灰度的治理能力,并且支持近 5 年内所有的 Spring Boot、Spring Cloud 和 Dubbo。

使用 MSE 进行灰度发布的过程中,ZadigX 可以便捷地创建灰度环境和灰度 K8S 资源, 结合发布工作流编排能力,自动为 K8S 资源设置 MSE 所需的资源标记,并集成了 MSE API 以降低重复工作量。开发无需切换平台,管理员一次配置即可。 开发可以基于 ZadigX 与日常工作平滑结合,完成高效、安全、快捷的发布。

工作原理介绍

工作原理图示:

阿里云 MSE + ZadigX ,无门槛实现云原生全链路灰度发布_spring

工作流程描述:

MSE 灰度发布任务

  1. 复制一份基于基准环境中服务的 YAML
  2. 自动为 YAML 中的资源名称 metadata.name 添加后缀 -mse-
  3. 自动为 YAML 中的资源添加 MSE 全链路灰度发布所需的相关 label
  4. 用户可以设置灰度镜像、副本数,此外可以直接在渲染后的 YAML 中修改其他需要改动的字段(不可删除灰度过程中使用的 label)
  5. 根据最终的 YAML 生成灰度版本资源

下线 MSE 灰度服务

  1. 通过灰度资源被设置的相关 label ,找到并删除它们

前置操作

MSE 全链路灰度能力可以支持任意 K8S 集群,全链路灰度场景需基于网关能力建设,下面以 MSE 自带的云原生网关为例介绍场景,用户可以根据自身情况选择合适的网关。

安装 MSE 组件

在阿里云 ACK 集群中安装 MSE 组件,安装方式参考文档:安装 ack-onepilot 组件 [ 1]

安装 MSE Ingress 云原生网关

安装方式参考文档

  1. 创建 MSE 云原生网关 [ 2]
  2. 通过 MSE Ingress 访问容器服务 [ 3]

下面以 spring-a、spring-b、spring-c、nacos 这几个服务结合 MSE 云原生网关组成的项目为例演示项目初始化和 MSE 灰度发布过程。

管理员做项目初始化

运维或者 DevOps 工程师在 ZadigX 上进行项目的初始化,包括新建项目、新建服务、新建环境并启用 MSE、新建灰度发布工作流等步骤。以下操作是一次性操作,后续只需按需配置执行工作流即可。

步骤一:新建项目

在 ZadigX 上新建项目,输入项目名称,项目类型选择 「K8s YAML」项目。

阿里云 MSE + ZadigX ,无门槛实现云原生全链路灰度发布_spring_02

步骤二:新建服务

在 ZadigX 服务-生产服务模块新建 nacos、spring-a、spring-b、spring-c 服务并配置对应的 YAML。

阿里云 MSE + ZadigX ,无门槛实现云原生全链路灰度发布_MSE_03

标签:服务,name,spring,ZadigX,灰度,MSE,cloud
From: https://blog.51cto.com/u_13778063/6941036

相关文章

  • 阿里云 MSE + ZadigX ,无门槛实现云原生全链路灰度发布
    作者:ZadigX企业发布现状痛点目前企业在选择和实施发布策略时面临以下困境:1.缺乏云原生能力:由于从传统部署转变为云原生模式后,技术架构改造需要具备相关能力的人才。这使得企业在发布策略方面难以入手。2.缺乏自动化平台支持:即使找到适合产品现状的发布策略,仍然依赖手工逐......
  • 全链路灰度的挑战、实现思路与解决方案
    作者:ZadigX微服务架构下的灰度发布挑战在传统的单体应用架构中,灰度发布相对简单。只需要在服务的流量入口处进行分流,通过使用K8sService或各种类型的网关即可实现。然而,微服务架构引入了新的复杂性,服务之间的依赖关系错综复杂。有时候,某个功能的发布可能依赖于多个服务,要求灰......
  • Python TensorFlow循环神经网络RNN-LSTM神经网络预测股票市场价格时间序列和MSE评估准
    全文下载链接:http://tecdat.cn/?p=26562最近我们被客户要求撰写关于循环神经网络的研究报告,包括一些图形和统计输出。自2000年 1月以来的股票价格数据。我们使用的是Microsoft股票。该项目包括:将时间序列数据转换为分类问题。使用TensorFlow的LSTM模型由MSE衡......
  • m基于OFDM+QPSK和turbo编译码以及MMSE信道估计的无线图像传输matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:    2.算法涉及理论知识概要       基于OFDM+QPSK和Turbo编码以及MMSE信道估计的无线图像传输是一种高效可靠的无线通信系统,广泛应用于图像传输领域。该系统利用正交频分复用(OFDM)技术,将图像数据分成多个子载波进行传输,......
  • 基于灰度值的匹配方法研究(三)
    这一篇文章讨论一些灰度匹配中的问题和新发现。目前主要有以下三个问题。一、相似度计算在本系列第一篇文章中用的相似度公式的分子中两项的乘积是取了绝对值的。这样它的取值范围就一定大于0。其实这个公式的分子可以不取绝对值,那它就可以化简了。此时它的取值范围是[-1,1]。这......
  • pytorch使用(二)python读取图片各点灰度值or怎么读、转换灰度图
    python读取图片各点灰度值方法一:在使用OpenCV读取图片的同时将图片转换为灰度图:img=cv2.imread(imgfile,cv2.IMREAD_GRAYSCALE)print("cv2.imread(imgfile,cv2.IMREAD_GRAYSCALE)结果如下:")print('大小:{}'.format(img.shape))print("类型:%s"%type(img))print(img)......
  • m完整的SC-FDE单载波频域均衡通信链路matlab仿真,包括UW序列,QPSK,定时同步,载波同步,
    1.算法仿真效果matlab2022a仿真结果如下:    2.算法涉及理论知识概要        完整的SC-FDE单载波频域均衡通信链路的设计和实现,包括UW序列的设计、QPSK调制、帧同步、定时同步、载波同步、SNR估计和MMSE信道估计等环节。本文首先介绍了SC-FDE通信系统的基本......
  • 面试官:使用 RocketMQ 怎么进行灰度发布?
    今天来聊一聊RocketMQ的灰度方案。灰度发布是指在黑与白之间,平滑过渡的一种发布方式。在大流量的系统中,如果一次升级改造范围比较大,或者影响内容不太确定,一般会采用切量的方式进行升级,这样可以减少生产变更带来的影响。如上图,对ServiceA这个服务进行升级,采用灰度发布,先升级Ser......
  • 基于mmse的不确定电力系统有限次测量的分析估计 源代码,
    基于mmse的不确定电力系统有限次测量的分析估计源代码,matlab代码按照高水平文章复现,保证正确大量可再生分布式能源的预期渗透正推动下一代电力系统走向不确定性,这可能对状态估计的可靠性和复杂性产生巨大影响。因此,结合DERs的随机潮流(SPF)和预测辅助的电力系统状态估计将成为未......
  • 基于云原生网关的全链路灰度实践
    作者:倪海峰(海迩)前言随着企业规模的不断扩大,传统单体应用已很难进一步支持业务的发展,业务的迭代速度已经难以满足业务的增长,此时企业会对应用系统做微服务化的改造,降低业务的耦合度,提升开发迭代的效率,让开发更加敏捷。系统架构微服务化的,原本的愿景是希望通过将系统的颗粒度变......