返回项目列表打开完整工作区
PERSONAL PROJECT · 2026 · FULL CYCLE
校园活动报名系统
面向学生、活动发布者与管理员,覆盖活动发布、组合查询、报名审核、签到积分和评价反馈,并对热门活动场景进行缓存与并发验证。
角色独立开发后端Spring Boot · MyBatis数据MySQL · Redis验证JMeter 本地压测
项目概况 角色、技术与展示边界
角色独立开发后端Spring Boot · MyBatis数据MySQL · Redis验证JMeter 本地压测
发现活动讲座 · 实践 · 志愿
周五 14:00 · 实训楼 A201Java 后端实战营剩余 6 个名额
① 组合筛选② 提交报名③ 签到评价
依据项目页面结构重绘 · 脱敏模拟数据
招聘者速览 · 90s操作产品 → 查看职责 → 核对证据
工程调试台 · Debug复现状态 → 观察数据 → 检查边界
EXPLORE THE PRODUCT推荐体验路线点击任一节点,直接进入对应界面
01 / PRODUCT
校园活动报名管理系统
按原项目界面复刻学生端与发布者端:可完成活动查询、报名审核、签到积分、评价与参与统计,并切换到并发机制演示。
校园活动报名管理系统
1发布活动→2学生报名→3资格审核→4签到积分→5评价反馈
● 选择活动报名,或切换发布者端创建一场新活动。
| 活动名称 | 类型 | 地点 | 发布者 | 时间 | 剩余 | 操作 |
|---|---|---|---|---|---|---|
| 讲座 | 实训楼 A201 | 计算机协会 | 2026-10-18 14:00 | 6 | ||
| 比赛 | 中心操场 | 校学生会 | 2026-10-20 08:00 | 13 | ||
| 志愿公益 | 大学生活动中心 | 青年志愿者协会 | 2026-10-23 09:30 | 14 | ||
| 班级活动 | 艺术楼 302 | 光影社 | 2026-10-26 15:00 | 0 |
当前活动
Java 后端实战营
计算机协会 · 实训楼 A201 · 2026-10-18 14:00
02 / BUSINESS
完整活动业务闭环
领域建模与接口
独立完成活动、报名、审核、签到积分与评价反馈的数据建模和 RESTful 接口。
动态组合查询
使用 MyBatis 动态 SQL 支持类型、时间、关键词和发布者等条件,并结合分页与索引策略。
缓存与名额预扣
热门列表采用 Cache-Aside;报名链路使用 SETNX 减少重复提交、DECR 原子预扣名额。
02 / CONCURRENCY BOUNDARY
缓存与一致性设计
热门列表缓存
未命中时回源数据库并写入 Redis,活动变更后主动失效缓存。
SETNX 请求保护
降低重复点击竞争,30 秒 TTL 用于异常释放,不作为持续防重窗口。
唯一索引与事务
Redis 负责快速拒绝,数据库约束负责最终一致性。
03 / IMPLEMENTATION
预扣、回补与缓存失效
热门列表缓存
查询未命中时回源数据库并写入 Redis,设置 30 分钟 TTL;活动变更后主动失效缓存。
SETNX 请求保护
降低同一用户重复点击造成的并发竞争,30 秒 TTL 用于异常情况下自动释放,不作为持续防重窗口。
DECR 与回补
名额预扣后再执行数据库写入;名额不足立即回补,捕获到的落库失败也执行 INCR 回补。
03 / RESULT
本地验证结果
列表接口样本
本地 localhost JMeter 报告中的请求样本数,错误率为 0。
缓存读吞吐
JMeter 报告中的本地 50 并发结果,平均响应约 4 ms。
名额一致性核对
50 个不同用户竞争 10 个名额,最终数据库记录数核对为 10。
测试环境:本地 Windows、localhost、单机应用。证据抽屉中保留环境与口径说明。