Skip to content

NissonCX/huxirating-backend

Repository files navigation

虎溪锐评 (HuxiRating)

企业级本地生活服务平台后端系统

Java Spring Boot MySQL Redis License


简介

虎溪锐评是一个功能完整的本地生活服务平台后端系统,采用微服务架构设计理念,集成了高并发秒杀、异步消息处理、多级缓存、服务降级熔断等企业级技术方案。

适用于学习高并发、分布式系统设计的参考项目


特性

特性 描述
🚀 高并发秒杀 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

Docker 部署(推荐)

# 克隆项目 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 服务恢复 流量渐进恢复

API 接口

用户

接口 方法 说明
/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 ⭐

主页

Releases

No releases published

Packages

 
 
 

Contributors

Languages