mse~路由完成某个页面的灰度功用
原因
我有个网站A【蓝色服务】,要对网站A进行改版【绿色服务】,其间用户中心已经改完了,期望当用户拜访时,假如http恳求头中包括isGroup,而且isGroup=1时,去新的绿色服务,反之就仍是去蓝色服务。
条件
- 蓝绿服务,域名是同一个,如
lind.gray.com
- 蓝绿服务,各个页面的URL是同一个
- 用户测在拜访URL时,它们不清楚将要到哪个环境,蓝绿环境是在网关路由中转发的
蓝绿布置
蓝绿布置(Blue-Green Deployment)是一种软件发布战略,旨在削减体系停机时刻和危险,一起保证用户体会的连续性。以下是关于蓝绿布置的一些要害点:
蓝绿布置的基本概念
环境区分:
- 在蓝绿布置中,一般会有两个相同的出产环境:一个是“蓝色”环境,另一个是“绿色”环境。
- “蓝色”环境当时正在处理一切的出产流量,而“绿色”环境则用于新版别的布置和测验。
切换流量:
- 当新的使用版别在“绿色”环境中经过充沛测验后,能够经过改动负载均衡器的装备,将流量从“蓝色”环境切换到“绿色”环境。
- 这种切换能够敏捷完结,然后最小化用户感知到的中止。
回滚机制:
- 假如在“绿色”环境中发现问题,能够快速将流量切回“蓝色”环境,完成无缝回滚,保障体系的稳定性。
MSE上的实践
一 进行蓝色和绿色服务里,在路由中敞开灰度发布,装备灰度战略,可在一个绿色服务中装备即可
二 假如期望对某个页面进行蓝绿布置,如/user/center
用户中心完成它,你需求下面的操作
- 增加新的途径,域名仍是之前的,如
lind.gray.com
- 装备途径标识:/user/center,蓝绿两个服务都要装备
- 装备灰度战略,蓝色服务,不必装备
- 绿色服务,需求敞开灰度发布,并增加战略,如header中包括isGroup=1的值,走绿色新的服务,
绿色服务的路由里,只装备具体要灰度的页面即可,假如要求全站都灰色,途径便是/即可
测验
- 当你拜访
lind.gray.com
时,直接拜访蓝色,老版服务 - 当你拜访
lind.gray.com/user/center
时,仍是直接拜访蓝色,老版服务 - 当你拜访
lind.gray.com/user/center
,而且在http恳求头中包括isGroup=1时,会拜访绿色,新版服务的/user/center页面