校园二手交易平台 全栈开发 2026.05-2026.06
技术栈:Spring Boot 3.2 + Spring Cloud Alibaba + MyBatis + Node.js/Express + uniapp (Vue 3) + MySQL + Redis + Redisson + Nacos + Sentinel + Seata + RocketMQ + Python + Docker + Prometheus + Graf
ana + Zipkin
项目背景:广州应用科技学院肇庆校区 C2C 校园二手交易平台,覆盖商品发布搜索、订单交易、IM 即时通讯、信用互评、举报管
理等完整业务流程。采用双后端架构(Java Spring Cloud 微服务 + Node.js Express 单体,共享同一 API 契约),uni-app 跨端
前端,Docker Compose 一键部署全栈服务。
1. [架构设计] 主导系统从 Node.js 单体到 Spring Cloud 微服务分布式架构的演进,设计 Gateway/Core/Admin/IMConnector + Common 共 5 模块 Maven 工程。Gateway 统一鉴权(JWT GlobalFilter)后路由到下游微服务,搭配 Nacos 服
务发现 + Feign 声明式调用,部署时间从逐个启动 5 分钟降至 Docker Compose 一键 30 秒。
2. [高并发与流控] 针对商品列表、订单创建等高频接口,搭建 Redis Cache-Aside 缓存层(热点数据查询从 ~200ms 降
至 ~5ms),Sentinel 多维流控(QPS/线程数/RT)+ Feign Fallback 降级保障服务稳定性,Redisson 分布式锁
(RLock + WatchDog)保障订单并发操作安全。
3. [认证与安全] 设计 JWT 双 Token 认证体系(Access 15min + Refresh 7day),Spring Security + OncePerRequestFilter 无
状态鉴权,TokenVersion 封禁机制实现用户封禁即时生效。Token 过期无感刷新采用并发请求排队机制(refreshQueue),避
免多请求同时刷新导致 Token 错乱。
4. [订单状态机] 实现 pending -> met_pending -> met -> completed 完整订单生命周期,MyBatis FOR UPDATE 悲观锁防并发
状态错乱。设计面交双向确认机制(一方发起、另一方确认、双方同时发起自动完成),Seata @GlobalTransactional 保障跨服
务调用数据一致性。
5. [可观测性] 搭建 Micrometer + Brave + Zipkin 全链路追踪(traceId 注入日志与 Feign 请求头,故障定位从人工翻日志 ~10 分
钟降至 Zipkin 搜 traceId 秒级),Prometheus + Grafana 监控看板(JVM 堆内存/GC/DB 连接池/Redis 命中率/磁盘健康 5 面
板聚合)。
6. [自动化测试] 编写 Python 自动化测试脚本覆盖 14 个核心 API 端点(登录->商品->订单->面交全业务流程),支持双后端一键
切换与 API 契约一致性验证,回归测试从手动 20 分钟降至 3 秒。
7. [工程化实践] 建立 14 份编码规范(命名/安全/性能/测试/Git),30 枚举错误码体系(双后端一一对应),Flyway 数据
库 5 版本幂等迁移,43 个 API 端点双后端零差异,项目已开源至 GitHub。