一直对秒杀场景很感兴趣,无奈经验确实一般,最近看了两篇文章,现在做个学习笔记,这里贴出文章链接,欢迎大家共同学习
58到家沈剑的http://mp.weixin.qq.com/s/5aMN9SqaWa57rYGgtdAF_A 还有一篇http://www.cnblogs.com/billyxp/p/3701124.html
以下图来做说明
秒杀的原则其实就是“削峰填谷”,尽量把请求拦截在上游,下边我们一层层来说
浏览器层面(前端):
1.通过使用一些手段来拦截请求,如验证码,搞个小游戏环节,别小看这个,能拦截好大一部分流量
2.将静态资源放到CDN上,提高加载速度
3.对用户请求频率做限制
4.点击之后,按钮变灰
5.加机器扩容
6.在前端性能接近饱和时,直接拒绝掉一部分请求
站点层面:
1.限制一部分请求,可以使用类似redis的setnx来将用户请求限制在5秒内
2.做缓存,对于频繁请求的用户,直接返回缓存的页面,让其稍后再试
服务层面:</