# Train **Repository Path**: invictusQAQ/train ## Basic Information - **Project Name**: Train - **Description**: 仿12306售票系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-09-16 - **Last Updated**: 2023-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 仿中铁12306售票系统 #### 介绍 该项目仿照12306售票系统,网页客户端实现了用户的高并发抢票选座功能,控台管理端实现对火车基础数据 管理以及定时生成每日车次等核心功能。 核心技术栈:VueCli + SpringBoot +SpringCloudAlibaba+ MyBatis + MySQL + Nacos + Sentinel + Feign + Seata + Redis + RocketMQ #### 软件架构 ![](https://gitee.com/invictusQAQ/train/raw/master/%E5%9B%BE%E7%89%87%E7%A4%BA%E4%BE%8B/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84.png) - 采用双端分离,会员端、控台端,便于开发和维护,同时将界面与功能逻辑分开,易于分配不同的资源 - 自制代码生成器,一分钟完成单表增删改查(含界面)功能,极大的提高开发效率 - 利用前端+后端购票验证码,分散抢票时的压力 - 网页客户端在用户购票时显示当前车厢座位销售图,支持用户根据需求自行选座 - 针对热点数据(如车站和车次信息)进行缓存,解决了缓存击穿和穿透问题 - 使用Seata分布式事务保证购票数据的最终一致性 - 采用Sentinel限流+令牌大闸+RocketMQ异步削峰+排队购票机制,解决机器人刷票问题,过滤大量无效 请求,将QPS由30提升至1400,用户反馈时间控制在1000ms内 - 采用Quartz分布式任务调度实现每日车次相关数据自动生成 - 使用Redisson分布式锁防止发生库存超卖问题 - 使用Nacos注册中心+配置中心,实现微服务组件的注册发现、配置发布及负载均衡 #### 效果示例 **用户界面** ![](https://gitee.com/invictusQAQ/train/raw/master/%E5%9B%BE%E7%89%87%E7%A4%BA%E4%BE%8B/%E7%94%A8%E6%88%B7%E6%AC%A2%E8%BF%8E%E9%A1%B5%E9%9D%A2.jpg) ![](https://gitee.com/invictusQAQ/train/raw/master/%E5%9B%BE%E7%89%87%E7%A4%BA%E4%BE%8B/%E4%BD%99%E7%A5%A8%E6%9F%A5%E8%AF%A2.jpg) ![](https://gitee.com/invictusQAQ/train/raw/master/%E5%9B%BE%E7%89%87%E7%A4%BA%E4%BE%8B/%E5%BA%A7%E4%BD%8D%E9%94%80%E5%94%AE%E5%9B%BE.jpg) **管理控台** ![](https://gitee.com/invictusQAQ/train/raw/master/%E5%9B%BE%E7%89%87%E7%A4%BA%E4%BE%8B/%E4%BC%9A%E5%91%98%E8%BD%A6%E7%A5%A8.jpg) ![](https://gitee.com/invictusQAQ/train/raw/master/%E5%9B%BE%E7%89%87%E7%A4%BA%E4%BE%8B/%E4%BB%A4%E7%89%8C%E4%BD%99%E9%87%8F.jpg) ![](https://gitee.com/invictusQAQ/train/raw/master/%E5%9B%BE%E7%89%87%E7%A4%BA%E4%BE%8B/%E4%BD%99%E7%A5%A8%E4%BF%A1%E6%81%AF.jpg) ![](https://gitee.com/invictusQAQ/train/raw/master/%E5%9B%BE%E7%89%87%E7%A4%BA%E4%BE%8B/%E6%AF%8F%E6%97%A5%E8%BD%A6%E6%AC%A1.jpg) ![](https://gitee.com/invictusQAQ/train/raw/master/%E5%9B%BE%E7%89%87%E7%A4%BA%E4%BE%8B/%E8%BD%A6%E7%AB%99%E7%AE%A1%E7%90%86.jpg) ![](https://gitee.com/invictusQAQ/train/raw/master/%E5%9B%BE%E7%89%87%E7%A4%BA%E4%BE%8B/%E4%BB%BB%E5%8A%A1%E7%AE%A1%E7%90%86.jpg)