前后端分离后灰度发布实现方式

简介: 前后端分离后灰度发布实现方式

1、什么是灰度发布
灰度发布, 也叫金丝雀发布。是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度,而我们平常所说的金丝雀部署也就是灰度发布的一种方式。

2、常见灰度发布策略
策略一:基于客户端公网ip判断是否需要走灰度环境。

策略二:基于用户判断是否走灰度环境。

3、常见实现方式
对于前后端分离的项目,一般通过nginx 转发解决跨域问题。

3.1 只有服务需要灰度环境
当前端没有修改或者修改不影响逻辑的时候,基本只要控制服务端有灰度环境,这种情况实现如下:

1、通过nginx+lua+redis,判断是否走灰度环境,其中redis用户存储走灰度环境用,lua在nginx 里面读取用户id,并且获取客户端请求用户id(一般通过请求头获取),通过比较判断,将在reids存储的用户转发到灰度环境网关或者服务端。(注意灰度环境的服务和正式服务注册中心不是同一个或者网络不是同一个)

2、通过服务网关辨别是否转发到灰度服务端。以SpringCloudGateway作为网关框架,nacos作为注册中、为例,具体实现方式:

定义一个灰度标记Holder

相关文章
|
2月前
|
Kubernetes Java 测试技术
无忧微服务:如何实现大流量下新版本的发布自由
本文讨论了微服务上云过程中的稳定性挑战,特别是变更引起的生产故障。阿里云MSE(微服务引擎)提供了一种全链路无损发布方案,旨在消除变更风险,实现白天流量高峰时的安全发布。
|
2月前
|
应用服务中间件 测试技术 nginx
金丝雀发布(灰度发布)介绍 及 声明式管理方法简介
金丝雀发布(灰度发布)介绍 及 声明式管理方法简介
|
2月前
|
运维 负载均衡 Kubernetes
一文搞懂蓝绿发布、灰度发布和滚动发布
一文搞懂蓝绿发布、灰度发布和滚动发布
|
2月前
|
自然语言处理 Cloud Native 安全
适应多样化需求:WASM 插件在全链路灰度发布中的应用
MSE(微服务引擎)在微服务全链路灰度场景下提供了一套成熟的功能,支持内容规则和百分比规则的灰度路由策略。
61585 7
|
2月前
|
前端开发 JavaScript API
SPA与前端路由:构建无缝体验的现代前端应用
在前端开发领域,单页面应用(SPA)和前端路由成为了构建现代、高度交互性的应用程序的重要技术。本文将探讨SPA的优势以及前端路由的实践,帮助读者更好地理解如何利用这些技术来提升用户体验和开发效率。
|
2月前
|
Prometheus Cloud Native 调度
Sentinel 新版本发布,提升配置灵活性以及可观测配套
Sentinel 新版本发布,提升配置灵活性以及可观测配套
|
前端开发 应用服务中间件 Linux
前后端分离项目线上发布
前后端分离项目线上发布
前后端分离项目线上发布
|
JSON 前端开发 JavaScript
微服务项目:尚融宝(25)(后端搭建:服务端渲染技术)
seo是网站为了提高自已的网站排名,获得更多的流量,对网站的结构及内容进行调整和优化,以便搜索引擎 (百度,google等)更好抓取到优质网站的内容。
微服务项目:尚融宝(25)(后端搭建:服务端渲染技术)
|
前端开发 Java 应用服务中间件
微服务项目:尚融宝(27)(后端搭建:注册功能)
微服务项目:尚融宝(27)(后端搭建:注册功能)
微服务项目:尚融宝(27)(后端搭建:注册功能)
|
负载均衡 Dubbo JavaScript
Dubbo服务治理之灰度发布方案(版本发布控制影响范围)
Dubbo服务治理之灰度发布方案(版本发布控制影响范围)
Dubbo服务治理之灰度发布方案(版本发布控制影响范围)