糟糕,老板让我设计一个亿级用户秒杀系统!
发布时间:2020-03-07 16:03:08 所属栏目:Windows 来源:站长网
导读:副标题#e# 个人从事电商行业十几年,经历过大大小小的促销活动和秒杀上百次,每次做秒杀瞬时访问量会翻数十倍,甚至数百倍。对系统架构是巨大的考验,期间也曾经历过系统宕机,甚至整体雪崩。 图片来自 Pexels 那么我们怎么设计秒杀系统,才能保证秒杀系统
①如何避免超卖?如果在 Redis 中扣减库存,可以利用 decr 命令扣减库存,decr 是原子操作,在分布式环境下也不会有并发问题,decr 扣减库存后,判断返回值,如果返回值小于 0,扣减库存失败,秒杀也就失败了。 如果在数据库中扣减库存可以在 where 后面加上库存大于 0 的条件,来避免库存被减成负值。这样就可以避免超卖情况发生了。 ②接口防刷,前面已经提到过,在网关层对下单等接口按 userID 限流。 ③网关层除了对 userID 做限流外,还要做整体限流。在实际访问量超过预估访问量时,整体限流可以起到保护作用,避免系统被压垮。 ④防止重复下单,按 userID 限流已经起到了防止重复下单的作用。假如限制同一个用户 10 分钟能下一次单,一般情况下 10 分钟内,商品早已经被抢光了,用户也就没有再次下单的机会了。 ⑤可以结合风控系统,在网关层把羊毛党等有问题的用户请求直接拒掉。 ⑥可以在网关层上面再加一层防火墙或者高防服务,来防御 DDos 等分布式网络攻击。 (编辑:鹤壁站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何以安全模式启动Windows 10以及何时使用它
- Md5密码在线破解
- 绕过TPM 2.0安装微软Win11的三种方法 修改 ISO 镜像偷天换日
- 史上最糟糕的系统及软件:微软Win8/Vista/IE6上榜
- windows – 是否有适用于Mac的VNC服务器,具有良好的国际键盘
- windows-xp – 脚本 – 如何断开远程桌面会话?
- windows-server-2008 – Windows Server 2008 R2上的IIS 8
- 数不清的Chrome插件 ,非常适合开发者的只有这几个!
- 如何将Windows 7中的“身份验证缓存”清除为受密码保护的sa
- 在Windows Server中使用IPsec时,“主”模式和“快速”模式有
推荐文章
站长推荐
热点阅读