电商项目_秒杀_初步分析

秒杀的特点:

1. 不能超卖,库存要求严格

  1. 参加的人越多越好

秒杀的挑战:

  • 巨大的瞬间流量
  • 热点数据
  • 刷子流量:刷子的高频次请求,会挤占正常用户的抢购通道,同时,刷子也获得了更高的秒杀成功率。破获抢购环境。

秒杀初步分析

普通的电商场景,为了提高三高性能,使用的各种手段更多的都是协调各种硬件资源,而秒杀场景,简单的协调硬件资源是不够的,还需要软件更极致的挖掘硬件资源。

商品抢购过程:

一次HTTP调用经过的节点:

和秒杀相关的:

  • 秒杀活动数据
  • 提供结算页:参与抢购的商品信息
  • 下单

秒杀流量隔离

业务隔离:秒杀商户业务上会提前进行准备,技术人员就可以评估处大致流量

系统隔离:⽐较常⻅的实践是对会被流量冲击⽐较⼤的核⼼系统进⾏物理隔离,⽽相对链路末端的⼀些系统,经过前⾯的削峰之后,流量⽐较可控了,这些系统就可以不做物理隔离。

  1. 秒杀详情页域名独立
  2. 独立的Nginx负载均衡器
  3. 独⽴的详情⻚后端服务

⼀般来说,秒杀中流量冲击⽐较⼤的核⼼系统就是秒杀详情⻚、秒杀结算⻚、秒杀下单库存扣减是需要我们重点关注的对象

数据隔离:

数据层的专有部署,需要结合秒杀的场景来设计部署拓扑结构,⽐如 Redis缓存,⼀般的场景⼀主⼀从就够了,但是在秒杀场景,需要⼀主多从来扛读热点数据。

相关推荐
考虑考虑5 小时前
Mybatis实现批量插入
java·后端·mybatis
咖啡八杯6 小时前
GoF设计模式——中介者模式
java·后端·spring·设计模式
青石路9 小时前
记一次多JDK版本问题的排查,一坑套一坑,差点没爬上来
java
像我这样帅的人丶你还12 小时前
Java 后端详解(五):Redis 缓存
java·后端·全栈
plainGeekDev14 小时前
GreenDAO → Room
android·java·kotlin
亦暖筑序19 小时前
Java 8老系统AI Workflow实战:把一次性AI对话升级成可恢复工作流
java·后端
敲代码的彭于晏20 小时前
Bean 生命周期完全图解:前端同学也能看懂的 Spring 核心机制
java·前端·后端
plainGeekDev21 小时前
ButterKnife → ViewBinding
android·java·kotlin
像我这样帅的人丶你还2 天前
Java 后端详解(四):分页与搜索
java·javascript·后端
她的男孩2 天前
数据权限为什么不能只靠注解?Forge 的 Mapper 层 SQL 改写源码拆解
java·后端·架构