美文网首页
灰度发布01-效果与方案分析

灰度发布01-效果与方案分析

作者: 卡戎li | 来源:发表于2020-02-29 09:02 被阅读0次

一、灰度发布期待的效果分析

1.1 灰度发布前

image.png

灰度发布前,系统处于正常使用状态,用户在浏览器输入地址访问前端H5页面,前端页面将请求转发至zuul, 并获取相应的数据。
注:此时后端的微服务都是双节点部署,微服务B可以对两个服务C发起调用。

1.2 灰度发布过程中

image.png

灰度发布中前端页面新增部署灰度版本,此时用户也基于ip区分是正式用户还是灰度用户。
正式用户只能访问正式的H5页面,相应的页面请求为:

前端H5A正 -> 微服务B正 -> 微服务C正 -> 微服务D正

灰度用户只能访问灰度H5页面,相应的页面请求为:

前端H5A灰 -> 微服务B灰 -> 微服务C灰 -> 微服务D灰

1.3 灰度发布完成后

image.png

灰度发布完成后,前端H5A灰、微服务B灰、 微服务C灰 、微服务D灰四个服务将升级为最新的正式版服务。前端H5A正、 微服务B正、 微服务C正、 微服务D正 四个服务也将进行升级,升级后变为最新版本的正式版服务。
服务调用流程和发版前相同,只是所有服务的版本都进行了升级。

二、灰度发布难点与相应的技术解决方案

2.1 如何判断用户是正式用户还是灰度用户

根据ip来判断用户身份是最方便也是最合理的。如果是基于用户token或者用户profile等,可能会面临登陆前身份识别的问题,游客访问的页面无法进行灰度等情况出现。

2.2 如何动态配置灰度用户访问进行流量切换

灰度的流量切换依据两个方面,平台设置和用户ip地址。
a、如果平台设置为全部灰度,那么所有用户都将调用灰度服务。
b、如果平台设置为部分灰度,那么将基于ip判断用户是正式用户还是灰度用户,正式用户将调用正式服务,灰度用户将调用灰度服务。
c、如果平台设置为全部正式,那么所有用户都将调用正式服务。
注: 之所以使用双因素判断,是为了方便后期的服务发版。

2.3 后端微服务调用链路中正式版和灰度版不混用

请参考 Nepxion/Discovery 非常不错的框架


image.png

项目地址:

https://github.com/Nepxion/Discovery.git

2.4 如何动态配置后端微服务为正式版还是灰度版

使用redis 动态配置正式版和灰度版请求的header参数,然后再基于ip去判断用户身份,并基于nginx + lua + redis 读取redis中的header参数,并动态修改不同身份用户的header参数.

相关文章

  • 灰度发布01-效果与方案分析

    一、灰度发布期待的效果分析 1.1 灰度发布前 灰度发布前,系统处于正常使用状态,用户在浏览器输入地址访问前端H5...

  • 灰度发布方案

    前提: 看过 我的consul,consul-template,nginx,springBoot,搭建动态负载的集...

  • 灰度发布方案

    灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让...

  • SPSS结构效度分析流程

    结构效度分析流程如下图 一、结构效度的意义 效度分析在学术研究中非常常见,结构效度是为了分析“从量表获得的结果与设...

  • 灰度发布方案选型

    上文中,由于初次接触灰度发布,关于这一概念的践行还有很多不了解的地方,因此标题为“灰度发布用户选取”。后来在进一步...

  • 我们的灰度发布方案

    1 背景与解决思路 做灰度发布,主要有两个大的方向 在代码中做。一套线上环境,代码中做开关,对于不同的用户走不同的...

  • 前端如何实现灰度发布

    前端进行灰度发布,首先需要为用户打上灰度标签和放量策略。 方案1:不同实例上部署不同的应用版本,根据nginx中的...

  • 96 - 实战之灰度发布组件(分析篇)

    本文开始,我们实战一个新的项目:灰度发布组件,这里对灰度发布组件进行需求分析,搞清楚这个组件应该具有哪些功能性和非...

  • 灰度发布用户选取

    近日接触的项目涉及到“灰度发布”的概念,这是第一次接触灰度发布,因此对灰度发布用户选取的方式十分好奇。“灰度发布(...

  • SpringCloud-灰度发布方案简介

    转载 http://huhanlin.com/2018/06/15/springcloud-%E7%81%B0%E...

网友评论

      本文标题:灰度发布01-效果与方案分析

      本文链接:https://www.haomeiwen.com/subject/nqluhhtx.html