虎溪锐评是一个功能完整的本地生活服务平台后端系统,采用微服务架构设计理念,集成了高并发秒杀、异步消息处理、多级缓存、服务降级熔断等企业级技术方案。
适用于学习高并发、分布式系统设计的参考项目
| 特性 |
描述 |
| 🚀 高并发秒杀 |
Redis 预扣库存 + RabbitMQ 异步入库 |
| 🛡️ 多级降级 |
五层降级策略保障服务可用性 |
| ⚡ 多级缓存 |
Caffeine(L1) + Redis(L2) 实现微秒级响应 |
| 🔥 限流熔断 |
Sentinel 实现 QPS 限流和异常熔断 |
| 🔒 分布式锁 |
Redisson 实现分布式锁互斥 |
| 🔔 消息可靠 |
Outbox 模式 + 死信队列保证一致性 |
┌─────────────────────────────────────────────────────────┐
│ Spring Boot 2.7.14 │ Java 21 │ MyBatis-Plus │
├─────────────────────────────────────────────────────────┤
│ Redis 7.0 │ RabbitMQ │ Sentinel │ Redisson │
├─────────────────────────────────────────────────────────┤
│ MySQL 8.0 │ Caffeine │ Docker │ Maven │
└─────────────────────────────────────────────────────────┘
| 组件 |
版本 |
| JDK |
21+ |
| Maven |
3.6+ |
| MySQL |
8.0+ |
| Redis |
5.0+ |
| RabbitMQ |
3.x |
# 克隆项目
git clone https://github.com/NissonCX/huxirating-backend.git
cd huxirating-backend
# 一键启动
docker-compose up -d
# 查看日志
docker-compose logs -f app
访问地址
# 1. 导入数据库
mysql -u root -p < src/main/resources/db/huxirating.sql
# 2. 修改 application.yaml 配置
# 3. 编译运行
mvn clean install
mvn spring-boot:run
请求 → Lua预扣库存 → RabbitMQ → 异步入库 → 完成
↓ ↓
原子性保证 死信重试
Caffeine (L1) → Redis (L2) → MySQL
↓ 1ms ↓ 10ms ↓ 100ms
| 级别 |
触发条件 |
处理方式 |
| L0 |
Sentinel 故障 |
主从自动转移 |
| L1 |
Redis PING 失败 ×3 |
触发降级 |
| L2 |
Redis 不可用 |
DB直写 + 本地缓存 |
| L3 |
异常比例 > 50% |
熔断 |
| L4 |
服务恢复 |
流量渐进恢复 |
| 接口 |
方法 |
说明 |
/user/code |
POST |
发送验证码 |
/user/login |
POST |
用户登录 |
/user/me |
GET |
获取当前用户 |
/user/sign |
POST |
用户签到 |
| 接口 |
方法 |
说明 |
/shop/{id} |
GET |
商户详情 |
/shop/of/type |
GET |
按类型查询 |
/shop/of/name |
GET |
按名称搜索 |
| 接口 |
方法 |
说明 |
/voucher-order/seckill/{id} |
POST |
秒杀下单 |
/voucher-order/{orderId} |
GET |
订单状态 |
| 指标 |
数值 |
| 正常模式 QPS |
50,000(接近 Redis 单机极限的 50%) |
| 降级模式 QPS |
5,000(DB 直写模式) |
| 缓存命中率 |
>90% |
| L1 响应时间 |
<1ms |
| L2 响应时间 |
<10ms |
| Redis 内存 |
2GB(主从节点) |
| 连接池大小 |
200 |
src/main/java/com/huxirating/
├── config/ # 配置类(Redis、MQ、Sentinel等)
├── controller/ # 控制器层
├── service/ # 业务逻辑层
├── mapper/ # 数据访问层
├── entity/ # 实体类
├── dto/ # 数据传输对象
├── utils/ # 工具类
├── mq/ # 消息队列消费者
└── degradation/ # 降级服务模块
# 构建镜像
docker build -t huxirating-backend:latest .
# 运行容器
docker run -d \
--name huxirating-backend \
-p 8081:8081 \
huxirating-backend:latest
本项目采用 MIT 许可证
如果这个项目对你有帮助,请给一个 Star ⭐
主页