业务场景:秒杀
系统简介
失败经验
将秒杀的逻辑建构成了:必须保证前100名的客户可以抢到商品,并没有做限流等措施,因此后台服务器的压力很大,经常出问题。
虽然要保证前100名客户的订单成功,但是前面100名不一定就是第一时间点击秒杀按钮的客户,有些人网速快,有些人网速慢。另外,普通客户肯定没有专门“薅羊毛”的人操作快。对于普通客户来说,随机决定比单纯比快要更有机会下单成功。
后来,基本上秒杀架构都会设计限流。
有一些秒杀的代码是在前端的JS中随机抛弃掉一些请求,这其实也是某种意义上的限流,只不过不太合理,应尽量避免。