大并发量应对方案——应用降级开关
程序员文章站
2022-06-02 15:55:18
...
背景:双11在即,手头的优惠券接口压测结果不理想,开发了一个降级开关,可以在双11接口压力大时配置关闭一部分用户的领券中心,降低接口压力,与扩容配合作为保障
详情:
配置中心(存放系统中一些可配置参数)
配置两个参数,useCoupon和useCouponPercent
useCoupon:是否使用全量优惠券,
true:使用,代表不降级
false:不使用,代表降级,此时下面的useCouponPercent生效
useCouponPercent:0-100,代表屏蔽的用户百分比
/**
* 是否使用优惠券服务: true(使用) false(不使用)
* @return
*/
private boolean useCouponService(){
boolean useCoupon = duccConfig.isUseCoupon();
Long useCouponPercent = duccConfig.getUseCouponPercent().longValue();
Long time = System.currentTimeMillis();
if (!useCoupon && time%100 < useCouponPercent){
return false;
}
return true;
}
ResultDto resultDto;
if (!useCouponService()){
resultDto = new ResultDto(CodeEnum.SUCCESS.getCode(), CodeEnum.SUCCESS.getMessage());
log.info("优惠券tab接口降级!");
return resultDto;
}
NewCouponInfo couponInfos = JSON.parseObject(body, NewCouponInfo.class);
//正常逻辑balabalabala
return resultDto;
如果用户被降级,优惠券接口返回给前端被降级的提示,前端取到优惠券信息为null,会自动折叠该楼层,实现关闭该用户入口
上一篇: 在网站SEO中怎么优化网站结构
下一篇: 导出pdf之--终于完成
推荐阅读