使用服务降级来减低系统负载

2018-04-03 14:04:35 浏览数 (1)

之前在京东的技术交流会上,京东架构师分享了服务降级策略

1为什么使用服务降级

在618店庆、双十一购物节等大型活动中,系统压力非常大,这个时候最重要的就是系统的可用性和稳定性

对于非必要的功能服务,都可以通过降级的方式暂时停掉,等到系统压力平稳后在升到可用

例如在交易下单环节,推荐服务就不是核心功能,可以降级为暂停,让出系统资源来保证核心服务

2服务降级的维度

(1)页面降级

比如下单后的成功页面挂了,那么就直接跳转到订单中心,用户可以看到订单,也可以操作

如果订单中心也挂了,那么就直接跳转到订单详情页面

(2)业务功能模块降级

例如实时价格的查询显示,业务上允许不那么实时,就可以降级

例如首页上有很多动态的内容,是后面大量的服务计算出来的,在访问高峰,动态页面扛不住时,可以降级为之间准备好的静态页面,虽然没动态的页面好,但保证了用户可用

(3)远程服务降级

比如第三方物流系统也可能压力大出现问题,业务上又是非必须的,就可以降级,当恢复可用时再次调用

3服务降级的实现

(1)手动实现

使用开关配置,对系统中可降级的服务都设置好开关项,在大型活动之前,挑选出需要降级的服务,提前关闭

(2)自动实现

程序调用时发生问题时,自动降级

或者调用某服务时,响应时间超过预订阀值,自动降级

0 人点赞