# seckill **Repository Path**: changa-code/seckill ## Basic Information - **Project Name**: seckill - **Description**: 电商秒杀项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-08-01 - **Last Updated**: 2022-08-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # seckill #### 介绍 秒杀项目是电商项目中的一个模块,旨在支撑平台日益频繁的促销活动,同时支持活动期间的高并发访问。 #### 软件架构 项目基于 Spring Boot+SSM+MySQL 架构,实现了注册、登录、商品列表、商品详情、下单等基础功能。 #### 项目亮点: + 采用 Guava Cache+Redis 构建的二级缓存,缓存了商品信息,大幅度提高了商品详情页的QPS。 + 采用 Redis 预热库存,并采用 RocketMQ 事务型消息实现了先从缓存预减库存,再异步扣减MySQL中的库存,在大幅度提高了下单操作的TPS的同时,也保证了库存数据的最终一致性。 + 采用 “令牌+大闸+队列” 的方式进行削峰,大大降低了下单接口的流量;采用验证码机制来平滑流量,将洪峰从1秒分摊到5秒;采用令牌桶算法进行限流,限制了单机的TPS,保证了服务的高可用性。 #### 项目成果: 最终,在CentOS 8(2核4G)环境下部署了 Nginx、Tomcat、MySQL、Redis、RocketMQ,并采用JMeter进行压测(2500线程*30次),商品详情页的QPS可达5300+,下单操作的TPS可达3700+。