本篇记录了一个高并发接口的调优过程,从单节点100个并发响应时间5秒以上,到最后单节点100个并发响应时间200ms,完成了既定的调优目标,积累了宝贵的经验。抛砖引玉,供大家探讨。
优化结果架构。
本篇作者微盟-李浩(微信号: li_able), 欢迎转载,转载请注明作者。联系作者请加微信号。
- 接口的业务场景,发放优惠券到用户。
- 接口的开发语言及主要使用的组件如下。
-
- Java 1.7
- Sping 及 Sping MVC 3.2.4
- Mybatis 3.3.0
- Redis aliyun KV
- Mysql aliyun
- 测试用机器: 阿里云4核16G有云服务器。
- 接口的详细业务步骤:接口输入参数 商户ID,卡券模板ID,用户手机号,我们把预先生成的未发放卡券,关联到用户,并更改卡券状态。
-
- 查询卡券模板。(已做redis 缓存)
- 查询此用户已经领取此卡券数量,如果用户已领卡数量达到领取限制,立即返回出错信息。
- 去数