# FlashMart **Repository Path**: inliming/FlashMart ## Basic Information - **Project Name**: FlashMart - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-09 - **Last Updated**: 2026-03-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FlashMart 高并发秒杀系统 ## 项目简介 FlashMart 高并发秒杀系统是一个分布式架构的电商系统,涵盖用户、商品、订单、支付等核心模块 ### 核心特性 - **高并发架构**:支持百万级并发访问,完善的限流、熔断、降级机制 - **分布式架构**:基于Spring Boot 3 + Redis + Kafka + ShardingSphere构建 - **数据一致性**:完善的分布式事务、消息可靠投递、数据对账机制 - **全链路监控**:Prometheus + Grafana监控体系,完善的链路追踪 - **现代化前端**:Vue 3 + Element Plus + Vite构建的响应式界面 ### 技术栈 **后端技术栈:** - Spring Boot 3.5.4 - MyBatis Plus 3.5.7 - Redis + Redisson - Apache Kafka - ShardingSphere 5.3.2 (分库分表) - MySQL 8.0 **前端技术栈:** - Vue 3.5.13 - Element Plus 2.9.7 - Vite 6.2.4 - Axios + Pinia **基础设施:** - Docker容器化部署 - Maven多模块架构 - 分布式ID生成器 - 布隆过滤器 - 延迟队列 - 令牌桶限流 ## 核心功能模块 ### 🛒 电商核心功能 - **商户管理**:商户信息展示、分类浏览、地理位置检索(GEO) - **优惠券系统**:普通优惠券、秒杀优惠券、库存管理 - **订单管理**:订单创建、支付、核销、退款全流程 - **用户中心**:用户注册登录、个人信息管理、会员等级 ### 🔥 高并发解决方案 - **秒杀系统**:Redis原子扣减、分布式锁、令牌前置授权 - **缓存策略**:多层缓存、布隆过滤器、空值缓存、逻辑过期 - **限流防护**:令牌桶算法、滑动窗口、多维度限流 - **消息队列**:Kafka可靠投递、死信队列、延迟消息 ### 🛡️ 稳定性保障 - **数据一致性**:分布式事务、消息幂等、数据对账 - **故障恢复**:自动补偿、熔断降级、优雅重启 - **监控告警**:Prometheus监控、链路追踪、异常聚合 - **分库分表**:ShardingSphere实现水平拆分 ### 🎯 运营功能 - **用户签到**:BitMap签到统计、连续签到奖励 - **社交互动**:好友关注、共同关注、达人探店 - **智能推荐**:Top买家榜单、个性化推送 - **订阅通知**:到券提醒、预通知、消息去重 # 快速开始 ## 环境准备 ### 基础环境要求 - Java 17+ - MySQL 8.0+ - Node.js 16+ - Docker & Docker Compose - Maven 3.8+ ## 项目启动步骤 ### 1. 数据库初始化 ```bash # 创建数据库 mysql -u root -p # 执行SQL脚本 source sql/1_create_database.sql source sql/FlashMart_0.sql source sql/FlashMart._1.sql ``` ### 2. 启动中间件服务 ```bash # 启动Redis docker run -d --name redis -p 6379:6379 -e "requirepass=123" redis:6.0.8 # 启动Kafka docker run -d --name kafka \ -p 9092:9092 \ -e KAFKA_BROKER_ID=0 \ -e KAFKA_ZOOKEEPER_CONNECT=zookeeper地址:2181 \ -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://本地ip:9092 \ -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka ``` ### 3. 后端服务启动 ```bash # 编译项目 mvn clean install -DskipTests # 启动服务 cd FlashMart-core-service mvn spring-boot:run ``` 默认访问地址:http://localhost:8081 ### 4. 前端服务启动 ```bash cd FlashMart-vue3 npm install npm run dev ``` 默认访问地址:http://localhost:5173 ### JVM调优 ```bash -Xms2g -Xmx2g -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+HeapDumpOnOutOfMemoryError ``` ## 故障排查指南 ### 常见问题处理 1. **服务启动失败**:检查端口占用、配置文件、依赖服务 2. **数据库连接异常**:验证连接参数、防火墙设置、用户权限 3. **Redis连接超时**:检查Redis服务状态、网络连通性 4. **Kafka消息积压**:分析消费速度、增加消费者实例 ### 日志分析 ```bash # 查看应用日志 tail -f logs/application.log # 查看错误日志 grep ERROR logs/application.log # 查看特定时间段日志 grep "HHHH-MM-DD hh:" logs/application.log ``` ### 性能监控 - CPU、内存、磁盘使用率 - GC频率和暂停时间 - 数据库连接池使用情况 - Redis内存和命中率 - Kafka消息处理延迟 ### 代码规范 - 遵循阿里巴巴Java开发手册 - 使用统一的代码格式化配置 - 编写清晰的注释和文档 --- > **如果你觉得这个项目对你有帮助,请点个Star⭐支持一下!**