当前位置:网站首页>Graduation project: design seckill e-commerce system
Graduation project: design seckill e-commerce system
2022-07-04 04:17:00 【InfoQ】
1. Basic business scenarios

- System (
APP
And WeChat applet ) The homepage shows the seckill activity , The second kill button is grayed out in non second kill time period , Users can browse the product list even if they don't register and log in 、 Details of the goods ;
- Wechat apps can only watch seckill activities , But you can't participate in the second kill , Only pass
APP
The client participates in seckill ;
- Second kill is usually on the shelf at a fixed time , The user can see the product , But I can't click “ Buy now ” The button , Before the second kill, users will quickly refresh the product page , A lot of visits , Enter the order page first when the seckill starts ;
- The second kill is limited and the price is unlimited , Drain the mall as much as possible ; And before the second kill , The mall needs a series of activities ; Users must register and log in before they can participate in seckill ;
- Second kill time , Only the first order submitted by the user is sent to the order subsystem of the website ;
- Each user should ensure that only one product can be killed every second , Only the first submitted order is sent to the order subsystem of the website ;
- Second kill is usually on the shelf at a fixed time , And there can be no “ Oversold ” The problem of ;
- Second kill is a marketing tool , Can not affect the daily application of the mall .
2. Storage architecture design
2.1 Storage performance estimation
2.1.1 Register login
2.1.2 Commodity information
- The stored product information shares
10 Categories * The most 20 individual = 200 strip
data
- Users participating in the second kill will quickly refresh the product page , Suppose each user refreshes 5 Time , Then the number of requests for product information is 400 ten thousand *5=2000 ten thousand . Secsha users' rapid refresh of the product page is mainly focused on the... Before the start of the activity 1 Hours , During this period of time, you can query commodity information
QPS
:400W * 5 / (60 * 60) = 5555
2.1.3 seckill
2.1.4 Order
TPS = 400w/60/60 = 1111
2.2 Storage architecture design

MySQL
data storage 500 Million user information and 400 Million user login information
MySQL
Database maintenance 200 A relational database of product information
MySQL
Database storage 400W Data
Redis
The cache database stores the request information of commodities 2000 ten thousand , Number of order requests 400 ten thousand
3. Computing architecture design
3.1 Computing performance evaluation
3.1.1 register
3.1.2 Sign in
3.1.3 Commodity information
400 ten thousand *10/60*60 = 11111
3.1.4 seckill
3.1.5 Order
- Second kill effective order 1010, Suppose these orders are in 5S Endogenesis , A second kill order is generated TPS = 1010/5 = 202.
- According to the previous assumption ,400W Users have an average of 1 Orders and focus on the second kill 1 Within hours , To generate the order TPS = 400w/60/60 = 1111;
- The stored order data is 400W Bar record , The average number of orders queried by users on that day 2 Time , Query order request quantity is 800W; Suppose the query time is concentrated after the second kill 2 Hours , Query order TPS = 800W/60/60/2 = 1111.
3.2 Load balancing design of computing architecture

3.2.1 Business characteristic analysis
3.2.2 Architecture design
3.3 Cache architecture design of computing architecture

3.3.1 download APP
3.3.2 Business characteristic analysis
3.3.3 Architecture design
4. High availability architecture design
- Second kill activity is not normal , It's a marketing tool , Short duration , However, it will generate dozens of times larger page visit traffic and order traffic than usual , If the second kill activity is deployed with the ordinary application of the mall , It may have an impact on daily business , To improve usability , The seckill system can be deployed independently , Even using a separate domain name , Make it completely isolated .
- Due to the second kill request TPS A very large , Queuing architecture can be used , The request is not processed immediately after it is received , Instead, put the request in the queue , The system processes data asynchronously according to its capability .
4.1 Spike queue structure

4.1.1 Business characteristic analysis
4.1.2 Architecture design
5. Scalable architecture design
6. evolution
边栏推荐
- 【读书会第十三期】视频文件的封装格式
- A review of reverse reinforcement learning at Virginia Tech (VT)
- Flink学习8:数据的一致性
- Exercices de renforcement des déclarations SQL (MySQL 8.0 par exemple)
- Cesiumjs 2022^ source code interpretation [0] - article directory and source code engineering structure
- Epidemic strikes -- Thinking about telecommuting | community essay solicitation
- Restore the subtlety of window position
- Parameterization of controls in katalon
- Global exposure and roller shutter exposure of industrial cameras
- CesiumJS 2022^ 源码解读[0] - 文章目录与源码工程结构
猜你喜欢
10 reasons for not choosing to use free virtual hosts
Flink学习7:应用程序结构
Unity移动端游戏性能优化简谱之 画面表现与GPU压力的权衡
渗透实战-SQLServer提权
Penetration practice - sqlserver empowerment
Es network layer
三菱M70宏变量读取三菱M80公共变量采集三菱CNC变量读取采集三菱CNC远程刀补三菱机床在线刀补三菱数控在线测量
Illustrated network: what is the hot backup router protocol HSRP?
The three-year revenue is 3.531 billion, and this Jiangxi old watch is going to IPO
软件测试是干什么的 发现缺陷错误,提高软件的质量
随机推荐
Msgraphmailbag - search only driveitems of file types
1289_FreeRTOS中vTaskSuspend()接口实现分析
Value transfer communication between components (parent to child, child to parent, brother component to value)
智慧地铁| 云计算为城市地铁交通注入智慧
Perf simple process for multithreaded profile
如何远程办公更有效率 | 社区征文
新型数据中心,助力加快构建以数据为关键要素的数字经济
【罗技】m720
2020 Bioinformatics | TransformerCPI
pytest多进程/多线程执行测试用例
hbuildx中夜神模拟器的配置以及热更新
Balance between picture performance of unity mobile game performance optimization spectrum and GPU pressure
User defined path and file name of Baidu editor in laravel admin
Flink学习8:数据的一致性
程序员远程办公喜忧参半| 社区征文
指针数组和数组指针
vue多级路由嵌套怎么动态缓存组件
How to dynamically cache components in Vue multi-level route nesting
【读书会第十三期】视频文件的封装格式
Support the first triggered go ticker