1. 项目背景与需求分析
景区行李寄存系统是旅游行业数字化转型的重要基础设施。随着国内旅游市场的快速复苏,2023年"五一"假期全国旅游人次已达2.74亿,景区接待压力剧增。传统人工寄存方式存在三大痛点:排队时间长(高峰期可达40分钟以上)、寄存凭证易丢失、寄存状态无法实时查询。
基于Java技术栈的智能寄存系统能有效解决这些问题。我们设计的系统需要实现以下核心功能:
- 游客端:扫码开柜、在线支付、行李状态追踪、紧急开锁申请
- 管理端:柜机状态监控、收益统计、异常报警
- 硬件接口:支持主流智能柜机厂商的TCP/IP协议通信
关键设计考量:系统需支持瞬时200+并发请求(参考迪士尼乐园高峰期数据),平均响应时间控制在300ms内,全年可用性不低于99.9%。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构设计
2.1 整体架构方案
采用前后端分离的微服务架构:
code复制前端:Vue3 + Element Plus + Axios
网关:Spring Cloud Gateway
业务服务:
- 用户服务(SpringBoot + JWT)
- 订单服务(SpringBoot + RocketMQ)
- 支付服务(SpringBoot + 支付宝/微信SDK)
- 设备服务(Netty自定义协议)
数据层:
- MySQL 8.0(InnoDB集群)
- Redis 7(集群模式)
- MinIO(文件存储)
2.2 核心组件选型依据
- SpringBoot 2.7.x:提供完善的自动配置机制,与Netty、RocketMQ等组件集成度高
- Vue3 + TypeScript:组合式API更适合复杂交互场景,类型检查减少运行时错误
- MySQL分库策略:按景区ID分片(16个分片),解决单景区数据过热问题
- Netty自定义协议:二进制协议比HTTP节省50%以上带宽,特别适合硬件通信场景
3. 关键实现细节
3.1 智能柜交互协议实现
定义基于Netty的二进制协议帧结构:
code复制0 1 2 3 4 5 6 7
+-------+-------+-------+----
