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

秒杀的特点:

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

  1. 参加的人越多越好

秒杀的挑战:

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

秒杀初步分析

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

商品抢购过程:

一次HTTP调用经过的节点:

和秒杀相关的:

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

秒杀流量隔离

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

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

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

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

数据隔离:

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

相关推荐
hqxstudying2 小时前
J2EE模式---前端控制器模式
java·前端·设计模式·java-ee·状态模式·代码规范·前端控制器模式
ZeroToOneDev4 小时前
Java(LinkedList和ArrayList底层分析)
java·开发语言
没有bug.的程序员6 小时前
JAVA面试宝典 -《 架构演进:从单体到 Service Mesh》
java·面试·架构
典学长编程6 小时前
Java从入门到精通!第十一天(Java常见的数据结构)
java·开发语言·数据结构
皮皮林5516 小时前
设计一个多租户 SaaS 系统,如何实现租户数据隔离与资源配额控制?
java·saas
霍格沃兹软件测试开发6 小时前
Playwright 自动化测试系列(6)| 第三阶段:测试框架集成指南:参数化测试 + 多浏览器并行执行
java·数据库·mysql·自动化
Bonnie_12157 小时前
02-netty基础-java四种IO模型
java·开发语言·nio·jetty
我不是星海7 小时前
建造者设计模式
java·开发语言
JIngJaneIL7 小时前
健身管理小程序|基于微信开发健身管理小程序的系统设计与实现(源码+数据库+文档)
java·数据库·小程序·论文·课程设计·毕设·健身管理小程序
Dcs7 小时前
Spring Framework 6.2 正式发布:开发者最值得关注的更新全览!
java