栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SSR限流降级方案-服务器实现

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SSR限流降级方案-服务器实现

一、ssr限流降级需求

1、正常情况下用户访问web ssr服务

2、ssr负载过高(访问超时、5xx错误等)的情况下,用户访问csr服务。

3、ssr服务处理能力有限,经过性能测试得出ssr服务入口api的tps上限,请求量达到上限后请求转发到csr服务,整个过程用户无感知。

二、实现方式

1、istio envoy-filter通过令牌桶实现限流,达到流量上限后返回429,ssr服务异常返回503。

2、通过kong plugin来实现http状态码捕获和请求转发。Kong plugin捕获429、503等异常状态码后重新请求csr对应path并将结果返回给用户。 

三、流程图

四、web实施

1、有两个提供相同前端功能的web服务ssr和csr

2、ssr和csr服务的paths需要能区分开,不能完全一致,这样kong网关在做route配置时才能区分开,如:

    /_next/plp/ssr/_next/static/chunks/874.5bc7a9391fa44bda.js

/_next/plp/csr/_next/static/chunks/874.5bc7a9391fa44bda.js

3、确定需要限流的入口api,以及ssr和csr对应的path。

4、确定入口api响应后浏览器发起的子请求,子请求path最好有统一的前缀,kong网关根据前缀设置route。 

五、Kong实施

1、设置ssr和csr的upstream,并配置好target。

2、设置ssr的service,并配置upstream。

3、ssr service中为入口api添加route,对该route开启mik-service-failover插件,设置插件中的各项值。

六、istio实施

1、将需要限流的ssr服务名称、环境、api、目标tps等信息发给devops同事。

2、Devops同事完成相关的配置更新。 

七、验证

1、对限流的api进行压测,istio开启限流,不开启kong插件,部分请求返回429;开启kong插件,接口不会再有429状态码返回,tps和成功率明显高于kong插件开启前。

2、压测过程中,通过浏览器访问压测的api,多刷新几次会发现有时子请求访问的是ssr,有时子请求访问的是csr。

3、通过查看gcp日志验证,后续补充。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1041191.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号