Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpikeGuard

v1.1.0 — 中间件增强版本

SpikeGuard(高并发智能秒杀风控平台)面向电商大促、票务抢购、限量商品发售、优惠券抢领和会员权益秒杀等场景,提供活动配置、库存预热、秒杀令牌、实时风控、Redis Lua 原子扣减、RabbitMQ 异步下单、AI 风控解释、分布式事务、链路追踪、监控告警、日志聚合和审计追踪。

支持邮箱验证码注册和商城游客预览模式(首页/活动列表无需登录可浏览)。

技术栈

  • 后端:Java 21、Spring Boot 3、Spring Cloud、Spring Cloud Alibaba(Nacos、Sentinel)、Spring Security、MyBatis Plus、PostgreSQL 16、Micrometer + Prometheus、Micrometer Tracing + Zipkin、Seata AT、Knife4j、MinIO SDK、Spring Mail(QQ SMTP)、JUnit。
  • 前端:Vue 3、Vite、TypeScript、Element Plus、Pinia、Vue Router、Axios、ECharts。
  • AI 服务:Python 3.10、FastAPI、Pydantic、LangGraph 兼容工作流结构、动态规则解释。
  • 基础中间件:PostgreSQL 16、Redis 7、RabbitMQ 3-management,通过 Docker Compose 启动。

v1.1.0 新增中间件

中间件 用途 版本
Nacos 服务注册发现 + 配置中心 v2.3.0
Knife4j API 文档聚合(/doc.html) 4.x
Prometheus + Grafana 指标监控与告警 latest
Zipkin 分布式链路追踪 3
Sentinel 限流熔断
Elasticsearch + Kibana 日志聚合与检索 8.12.0
MinIO 对象存储 latest
Seata AT 分布式事务 2.0.0

安全约定

仓库只提交 .env.example。真实 .env、数据库密码、Redis 密码、RabbitMQ 密码、虚拟机密码、GitHub Token 和模型 API Key 不得提交到仓库。所有配置文件都通过环境变量读取敏感值。

快速启动

cd L:\ProjectSource\Project\SpikeGuard
copy .env.example .env
docker compose config
docker compose up -d

后端:

cd L:\ProjectSource\Project\SpikeGuard\backend
L:\Develop\apache-maven-3.9.12\bin\mvn.cmd clean package

AI 服务:

cd L:\ProjectSource\Project\SpikeGuard\ai-service
conda run -n opspilot pip install -r requirements.txt
conda run -n opspilot python -m compileall .
conda run -n opspilot uvicorn main:app --host 0.0.0.0 --port 8090 --reload

前端(管理后台):

cd L:\ProjectSource\Project\SpikeGuard\frontend
npm install
npm run build
npm run dev

前端(商城):

cd L:\ProjectSource\Project\SpikeGuard\frontend-mall
npm install
npm run build
npm run dev

首次启动后,通过登录页的注册入口创建第一个用户。注册需邮箱验证码(通过 QQ SMTP 发送),系统会将首个注册用户授予管理员角色。商城首页和活动列表支持游客浏览,无需登录。生产环境请使用强密码并妥善保管运行时 .env

系统架构

graph TB
  Client["客户端(管理后台 / 商城)"] --> GW["sg-gateway<br/>Nacos 动态路由 + Sentinel 限流"]
  GW --> Services["13 个微服务<br/>auth / product / activity / inventory<br/>seckill / risk / order / payment<br/>ai-adapter / audit / monitor"]
  Services --> Nacos["Nacos 服务注册"]
  Services --> PG["PostgreSQL 16"]
  Services --> Redis["Redis 7"]
  Services --> RabbitMQ["RabbitMQ"]
  Services --> Seata["Seata 分布式事务"]
  Services --> MinIO["MinIO 对象存储"]
  Services --> Prometheus["Prometheus 指标"]
  Prometheus --> Grafana["Grafana 仪表盘"]
  Services --> Zipkin["Zipkin 链路追踪"]
  Services --> ES["Elasticsearch + Kibana"]
  Services --> AI["FastAPI AI 服务"]
Loading

核心链路

活动创建 -> 发布 -> 库存预热 -> 秒杀令牌 -> 风控评估(Sentinel 限流保护)
-> Redis Lua 原子扣减 -> RabbitMQ 异步下单 -> 幂等订单创建
-> 支付模拟 -> 分布式事务(Seata AT)-> 监控指标上报(Prometheus)
-> 日志聚合(ES + Kibana)-> AI 解释与审计追踪

主秒杀接口优先快速返回,不在请求线程里执行复杂 AI 调用或慢查询。AI 服务用于复杂风险解释、策略建议和异步分析,不作为主链路单点瓶颈。

中间件控制台

中间件 地址
Nacos 控制台 http://192.168.101.130:8848/nacos
RabbitMQ 管理 http://192.168.101.130:15673
Zipkin 链路追踪 http://192.168.101.130:9411
Prometheus http://192.168.101.130:9090
Grafana 仪表盘 http://192.168.101.130:3000
Kibana 日志 http://192.168.101.130:5601
MinIO 控制台 http://192.168.101.130:9001
Seata 控制台 http://192.168.101.130:7091
Knife4j API 文档 http://localhost:8080/doc.html

项目结构

backend/          Spring Boot 微服务集群(13 模块 + 兼容单体)
frontend/         Vue 3 管理后台
frontend-mall/    Vue 3 商城前端
ai-service/       FastAPI 风控解释服务
docs/             需求、架构、数据库、API、部署和验收文档
deploy/           VM、Nginx、Docker、Prometheus、logback 部署资产
scripts/          初始化、部署、压测和 Git 辅助脚本

验证命令

docker compose config
cd backend; L:\Develop\apache-maven-3.9.12\bin\mvn.cmd clean package
cd ..\ai-service; conda run -n opspilot python -m compileall .
cd ..\frontend; npm install; npm run build

About

SpikeGuard高并发秒杀风控平台,支持多场景抢购、智能风控、异步交易与链路监控。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages