# cxwy-train **Repository Path**: nine_lai/cxwy-train ## Basic Information - **Project Name**: cxwy-train - **Description**: 智慧铁路购票系统,帮助用户完成互联网在线购票,提高用户买票效率以及减少售票人员的工作负担。项目完成会员注 册、车票查询、车票下单以及支付等业务。底层采用 Sentinel 、缓存以及消息队列等技术保障大量用户同时购票时系统稳定运行。本地压测核心购票查询接口 750/QPS,通过冷热分离/分库分表计算可存储十亿热购票数据。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-01-16 - **Last Updated**: 2026-01-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## “出行无忧”智慧铁路购票系统 - 项目地址:https://gitee.com/huang-yongtao111/cxwy-train.git ## 项目介绍 智慧铁路购票系统,帮助用户完成互联网在线购票,提高用户买票效率以及减少售票人员的工作负担。项目完成会员注册、车票查询、车票下单等业务。底层采用缓存、消息队列等技术保障大量用户同时购票时系统稳定运行。本地压测核心购票查询接口750/QPS,通过ShardingSphere进行分库分表可支持海量数据存储。 ## 个人职责 - 使用责任链模式重构车票下单接口数据准确性检验,提高验证逻辑高内聚、低耦合以及可扩展特性。 - 通过 Redis Lua 脚本原子特性实现用户购票许可证分配,并通过许可证限流机制来处理海量用户的购票请求。 - 通过订单号和用户 ID 组成复合分片算法实现订单分库分表,支持基于订单号和用户 ID 双重查询维度。 - 使用布隆过滤器以避免在注册用户时由于用户名全局唯一导致的缓存穿透问题,从而减轻数据库访问压力。 - 使用 BinLog 配合 RocketMQ 消息队列完成 MySQL 数据库与 Redis 缓存之间的数据最终一致性。 ## 项目页面展示 ### 1. 车票查询功能 ![输入图片说明](picture/%E8%BD%A6%E7%A5%A8%E6%9F%A5%E8%AF%A2%E9%A1%B5%E9%9D%A2.png) ### 2. 提交订单页,选择乘车人下单 ![输入图片说明](picture/%E6%8F%90%E4%BA%A4%E8%AE%A2%E5%8D%95%E9%A1%B5.png) ### 3. 高铁在线选座页面 ![输入图片说明](picture/%E9%80%89%E5%BA%A7%E9%A1%B5%E9%9D%A2.png) ### 4. 订单确认页 ![输入图片说明](picture/%E8%AE%A2%E5%8D%95%E7%A1%AE%E8%AE%A4%E9%A1%B5.png)