沉梦手记 沉梦手记
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 数据库基础
  • MySql
  • Redis
  • 达梦数据库
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • 网络通信
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 搜索引擎
  • 前端环境搭建
  • HTML与CSS
  • JS学习
  • Axios入门
  • Vue Router入门
  • Pinia入门
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 运维与部署
  • 音视频处理
  • 随笔
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
  • 脚手架搭建
  • 瑞吉外卖
  • 黑马点评
  • vue-blog
  • 沉梦接口开放平台
  • 用户中心
  • 聚合搜索平台
  • 仿12306项目
  • 壁纸小程序项目
  • RuoYi-Vue
Github (opens new window)

沉梦听雨

时间是最好的浸渍剂,而沉淀是最好的提纯器🚀
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 数据库基础
  • MySql
  • Redis
  • 达梦数据库
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • 网络通信
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 搜索引擎
  • 前端环境搭建
  • HTML与CSS
  • JS学习
  • Axios入门
  • Vue Router入门
  • Pinia入门
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 运维与部署
  • 音视频处理
  • 随笔
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
  • 脚手架搭建
  • 瑞吉外卖
  • 黑马点评
  • vue-blog
  • 沉梦接口开放平台
  • 用户中心
  • 聚合搜索平台
  • 仿12306项目
  • 壁纸小程序项目
  • RuoYi-Vue
Github (opens new window)
  • 脚手架搭建
  • 瑞吉外卖

  • 黑马点评

  • vue-blog

  • 沉梦接口开放平台

  • 用户中心

  • 聚合搜索平台

  • 仿12306项目

    • 基础业务与登录认证
    • 超卖与分布式锁
    • 微服务组件
    • 缓存与前端
    • 项目技术亮点
      • 项目描述
      • 技术栈
      • 核心职责与技术亮点
  • 壁纸小程序项目

  • RuoYi-Vue

  • 项目笔记
  • 仿12306项目
沉梦听雨
2026-10-09
目录

项目技术亮点

# 项目技术亮点

# 项目描述

仿 12306 的购票系统,涵盖用户注册登录、车次查询、购票下单、排队购票、会员管理等核心业务,深度实践微服务架构、分布式锁、消息队列、限流降级等高并发技术。

# 技术栈

Spring Boot · Spring Cloud Alibaba · Nacos · Gateway · OpenFeign · Seata · Sentinel · Redis · Redisson · RocketMQ · MyBatis · MySQL

# 核心职责与技术亮点

  1. 分布式锁防超卖:为解决多节点部署下购票超卖问题,从 synchronized → Redis SETNX → Redisson 看门狗逐步演进,使用 Redisson 分布式锁 + 守护线程自动续期解决锁超时问题,保证多节点下购票不超卖
  2. 令牌大闸防刷:为解决机器人刷票导致数据库压力过大的问题,设计令牌桶限流机制,在购票前校验令牌余量拦截刷票请求,保护数据库不被无效查询压垮
  3. RocketMQ 异步排队购票:为解决高并发购票场景下同步出票导致响应慢的问题,使用 RocketMQ 将购票流程拆分为"快速响应"与"异步出票"两阶段,用户下单后立即返回、后台消费者异步处理出票逻辑,实现削峰填谷
  4. Seata 分布式事务:为解决跨服务数据一致性问题,集成 Seata AT 模式处理跨服务事务(如扣减库存 + 创建订单),自动生成反向 SQL 实现回滚,保证分布式场景下数据正确
  5. Sentinel 限流降级:为解决高并发下核心服务被拖垮的问题,使用 Sentinel 实现接口限流(令牌桶/漏桶算法)与熔断降级,保护核心服务稳定性
  6. Spring Cloud Gateway 网关:为解决微服务端口暴露安全问题,使用 Spring Cloud Gateway 统一路由转发、统一鉴权、黑白名单访问控制,生产环境仅暴露网关端口保障服务安全
  7. Nacos 注册与配置中心:为解决服务注册发现与配置动态更新问题,使用 Nacos 作为注册与配置中心,支持运行时修改限流阈值、开关等配置无需重启
  8. JWT 单点登录:为解决微服务集群下会话管理问题,基于 JWT 实现无状态单点登录,前端 Axios 拦截器统一携带 Token,后端拦截器校验 Token 有效性
  9. ThreadLocal 会员信息传递:为解决会员信息层层传参冗余的问题,在拦截器中获取会员信息存入 ThreadLocal,Controller/Service 层直接从线程本地变量获取,简化代码逻辑
  10. 多级缓存优化:为解决高并发下数据库查询压力大的问题,构建 MyBatis 一级缓存 → Spring Cache 本地缓存 → Redis 分布式缓存的多级缓存体系,Full GC 频繁时降级为 ThreadLocal 线程本地变量
上次更新: 2026/10/10 18:05:45
缓存与前端
开发笔记

← 缓存与前端 开发笔记→

Theme by Vdoing | Copyright © 2023-2026 沉梦听雨 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式