糟糕,老板让我设计一个亿级用户秒杀系统!
发布时间:2020-03-08 00:11:28 所属栏目:Windows 来源:站长网
导读:副标题#e# 个人从事电商行业十几年,经历过大大小小的促销活动和秒杀上百次,每次做秒杀瞬时访问量会翻数十倍,甚至数百倍。对系统架构是巨大的考验,期间也曾经历过系统宕机,甚至整体雪崩。 图片来自 Pexels 那么我们怎么设计秒杀系统,才能保证秒杀系统
①如何避免超卖?如果在 Redis 中扣减库存,可以利用 decr 命令扣减库存,decr 是原子操作,在分布式环境下也不会有并发问题,decr 扣减库存后,判断返回值,如果返回值小于 0,扣减库存失败,秒杀也就失败了。 如果在数据库中扣减库存可以在 where 后面加上库存大于 0 的条件,来避免库存被减成负值。这样就可以避免超卖情况发生了。 ②接口防刷,前面已经提到过,在网关层对下单等接口按 userID 限流。 ③网关层除了对 userID 做限流外,还要做整体限流。在实际访问量超过预估访问量时,整体限流可以起到保护作用,避免系统被压垮。 ④防止重复下单,按 userID 限流已经起到了防止重复下单的作用。假如限制同一个用户 10 分钟能下一次单,一般情况下 10 分钟内,商品早已经被抢光了,用户也就没有再次下单的机会了。 ⑤可以结合风控系统,在网关层把羊毛党等有问题的用户请求直接拒掉。 ⑥可以在网关层上面再加一层防火墙或者高防服务,来防御 DDos 等分布式网络攻击。 (编辑:南通站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Windows事件查看器在较新版本的Windows上运行缓慢
- windows-server-2008 – 如何从Windows Server 2008中的事件
- windows-server-2008-r2 – Windows Server 2008 R2,没有互
- Windows 10修复烦人Bug:一个像素逼死强迫症
- Win10记事本假死怎么办 Win10记事本假死处理方法
- Windows 10系统,显卡驱动安置失败怎么办?
- Windows Server 2008 Active Directory域服务的新增功能
- 微软发布 Visual Studio 2019 年第二季度路线图
- 微软正将 Windows 11 MR 混合现实新性能推送给 Windows 10
- win7网络适配器不能启动的解决方案
站长推荐