| New file |
| | |
| | | # XPeng Robotaxi 项目结构分析 |
| | | |
| | | ## 项目概述 |
| | | |
| | | 这是一个基于Spring Cloud Alibaba微服务架构的小鹏汽车Robotaxi项目,采用Java 8 + Spring Boot 2.7.7技术栈,实现了分布式、高可用的自动驾驶出租车服务平台。 |
| | | |
| | | ## 核心技术栈 |
| | | |
| | | - **Java版本**: Java 8 |
| | | - **Spring Boot**: 2.7.7 |
| | | - **Spring Cloud**: 2021.0.5 |
| | | - **Spring Cloud Alibaba**: 2021.0.4.0 |
| | | - **数据库分片**: ShardingSphere 5.5.2 |
| | | - **连接池**: Druid 1.2.16 |
| | | - **API文档**: Swagger 3.0.0 |
| | | - **注册中心/配置中心**: Nacos |
| | | - **服务熔断**: Sentinel |
| | | - **分布式事务**: Seata |
| | | - **ORM框架**: MyBatis Plus 3.5.2 |
| | | |
| | | --- |
| | | |
| | | ## 项目模块结构 |
| | | |
| | | ### 1. xp-gateway (网关模块) |
| | | **端口**: 默认端口 |
| | | **功能**: API网关服务,负责请求路由、负载均衡、权限校验、限流熔断等 |
| | | |
| | | - 统一入口:所有外部请求的统一接入点 |
| | | - 路由转发:根据路径将请求转发到对应的服务 |
| | | - 安全控制:身份认证、权限验证 |
| | | - 流量控制:限流、熔断、降级处理 |
| | | - 日志记录:请求日志、访问统计 |
| | | |
| | | ### 2. xp-common (公共基础模块) |
| | | |
| | | #### 2.1 xp-common-core (核心工具模块) |
| | | **功能**: 提供项目通用的基础工具类和配置 |
| | | |
| | | - 基础实体类和枚举定义 |
| | | - 工具类集合(JSON处理、字符串处理等) |
| | | - 全局异常处理 |
| | | - 响应结果封装 |
| | | - 分页工具类 |
| | | - 地理位置计算工具(集成geodesy库) |
| | | |
| | | #### 2.2 xp-common-security (安全模块) |
| | | **功能**: 安全认证和授权相关功能 |
| | | |
| | | - 用户认证服务 |
| | | - JWT Token管理 |
| | | - 权限注解处理 |
| | | - 密码加密解密 |
| | | - Feign客户端安全配置 |
| | | - 自定义安全配置注解 |
| | | |
| | | #### 2.3 xp-common-swagger (API文档模块) |
| | | **功能**: Swagger API文档自动生成和配置 |
| | | |
| | | - RESTful API文档自动生成 |
| | | - 接口调试界面 |
| | | - 文档分组管理 |
| | | - 自定义文档配置 |
| | | |
| | | #### 2.4 xp-common-redis (缓存模块) |
| | | **功能**: Redis缓存相关配置和服务 |
| | | |
| | | - Redis连接配置 |
| | | - 缓存注解支持 |
| | | - 分布式锁实现 |
| | | - 缓存工具类 |
| | | |
| | | #### 2.5 xp-common-log (日志模块) |
| | | **功能**: 系统日志记录和管理 |
| | | |
| | | - 操作日志记录 |
| | | - 异常日志收集 |
| | | - 日志格式化 |
| | | - 日志存储策略 |
| | | |
| | | #### 2.6 xp-common-datascope (数据权限模块) |
| | | **功能**: 数据级别的权限控制 |
| | | |
| | | - 部门数据权限过滤 |
| | | - 用户数据隔离 |
| | | - 动态数据权限配置 |
| | | |
| | | #### 2.7 xp-common-seata (分布式事务模块) |
| | | **功能**: 分布式事务管理配置 |
| | | |
| | | - Seata客户端配置 |
| | | - 分布式事务注解支持 |
| | | - 事务协调器集成 |
| | | |
| | | ### 3. xp-api (接口定义模块) |
| | | **功能**: 各服务间的Feign接口定义和DTO传输对象 |
| | | |
| | | - 远程服务调用接口定义 |
| | | - 数据传输对象(DTO)定义 |
| | | - 接口降级处理工厂 |
| | | - 服务间通信契约 |
| | | |
| | | ### 4. xp-modules (通用业务模块) |
| | | |
| | | #### 4.1 xp-modules-file (文件服务模块) |
| | | **端口**: 默认端口 |
| | | **功能**: 文件上传、下载、存储管理服务 |
| | | |
| | | - 文件上传下载 |
| | | - FastDFS分布式文件存储集成 |
| | | - 文件类型校验 |
| | | - 文件访问权限控制 |
| | | |
| | | #### 4.2 xp-modules-job (定时任务模块) |
| | | **端口**: 默认端口 |
| | | **功能**: 分布式定时任务调度服务 |
| | | |
| | | - Quartz定时任务调度 |
| | | - 任务管理界面 |
| | | - 任务执行监控 |
| | | - 分布式任务协调 |
| | | |
| | | ### 5. xp-service (核心业务服务模块) |
| | | |
| | | #### 5.1 xp-account (账户服务) |
| | | **端口**: 6010 |
| | | **功能**: 用户账户管理核心服务 |
| | | |
| | | - 用户注册登录 |
| | | - 用户信息管理 |
| | | - 角色权限管理 |
| | | - 组织架构管理 |
| | | - 菜单权限配置 |
| | | - 用户分组管理 |
| | | |
| | | #### 5.2 xp-automaticPilot (自动驾驶服务) |
| | | **端口**: 默认端口 |
| | | **功能**: 自动驾驶核心算法和控制服务 |
| | | |
| | | - 自动驾驶模式切换 |
| | | - 路径规划和导航 |
| | | - 传感器数据处理 |
| | | - 驾驶行为决策 |
| | | - 安全监控系统 |
| | | |
| | | #### 5.3 xp-itinerary (行程服务) |
| | | **端口**: 默认端口 |
| | | **功能**: 行程管理和调度服务 |
| | | |
| | | - 行程创建和管理 |
| | | - 路线规划 |
| | | - 实时位置跟踪 |
| | | - 行程状态监控 |
| | | - 历史行程查询 |
| | | |
| | | #### 5.4 xp-maintenance (运维服务) |
| | | **端口**: 默认端口 |
| | | **功能**: 车辆运维和保险管理服务 |
| | | |
| | | - 车辆维护计划 |
| | | - 故障报修处理 |
| | | - 保单申请管理 |
| | | - 维修记录追踪 |
| | | - 配件库存管理 |
| | | |
| | | #### 5.5 xp-map (地图服务) |
| | | **端口**: 默认端口 |
| | | **功能**: 地图数据和位置服务 |
| | | |
| | | - 地图数据管理 |
| | | - POI兴趣点服务 |
| | | - 地理围栏设置 |
| | | - 位置信息服务 |
| | | - 路况信息获取 |
| | | |
| | | #### 5.6 xp-operation (运营服务) |
| | | **端口**: 6060 |
| | | **功能**: 平台运营管理服务 |
| | | |
| | | - 运营数据分析 |
| | | - 车辆调度管理 |
| | | - 司机运营管理 |
| | | - 价格策略配置 |
| | | - 优惠活动管理 |
| | | - 投诉处理系统 |
| | | |
| | | #### 5.7 xp-order (订单服务) |
| | | **端口**: 默认端口 |
| | | **功能**: 订单全流程管理服务 |
| | | |
| | | - 订单创建和支付 |
| | | - 订单状态跟踪 |
| | | - 订单分配调度 |
| | | - 订单历史查询 |
| | | - 退款处理流程 |
| | | |
| | | #### 5.8 xp-payment (支付服务) |
| | | **端口**: 默认端口 |
| | | **功能**: 支付结算核心服务 |
| | | |
| | | - 多种支付方式集成 |
| | | - 支付流水管理 |
| | | - 对账结算功能 |
| | | - 退款处理 |
| | | - 发票管理 |
| | | |
| | | #### 5.9 xp-pushMessage (消息推送服务) |
| | | **端口**: 默认端口 |
| | | **功能**: 消息通知和推送服务 |
| | | |
| | | - 站内信通知 |
| | | - 短信推送 |
| | | - APP消息推送 |
| | | - 邮件通知 |
| | | - 消息模板管理 |
| | | |
| | | #### 5.10 xp-remoteDriving (远程驾驶服务) |
| | | **端口**: 默认端口 |
| | | **功能**: 远程遥控驾驶服务 |
| | | |
| | | - 远程驾驶控制 |
| | | - 实时视频传输 |
| | | - 遥控指令下发 |
| | | - 紧急接管机制 |
| | | - 远程协助功能 |
| | | |
| | | #### 5.11 xp-vehicleConvoy (车辆车队服务) |
| | | **端口**: 默认端口 |
| | | **功能**: 车队编队和协同管理服务 |
| | | |
| | | - 车队组建管理 |
| | | - 车辆编队控制 |
| | | - 车辆间通信协调 |
| | | - 编队路线规划 |
| | | - 车队状态监控 |
| | | |
| | | --- |
| | | |
| | | ## 架构特点 |
| | | |
| | | ### 微服务架构优势 |
| | | 1. **服务拆分**: 按业务领域垂直拆分,职责单一 |
| | | 2. **独立部署**: 各服务可独立开发、测试、部署 |
| | | 3. **技术多样性**: 不同服务可根据需求选择合适技术栈 |
| | | 4. **容错性**: 单个服务故障不影响整体系统 |
| | | 5. **可扩展性**: 按需对特定服务进行水平扩展 |
| | | |
| | | ### 核心组件集成 |
| | | - **Nacos**: 服务注册发现和配置管理 |
| | | - **Sentinel**: 流量控制和熔断降级 |
| | | - **Seata**: 分布式事务解决方案 |
| | | - **ShardingSphere**: 数据库分片和读写分离 |
| | | - **Redis**: 分布式缓存和会话共享 |
| | | |
| | | ### 部署建议 |
| | | - 网关层建议部署多实例保证高可用 |
| | | - 核心业务服务按重要程度分级部署 |
| | | - 数据库采用主从复制和分片策略 |
| | | - 缓存层配置合理的过期策略 |
| | | - 监控告警体系完善各服务健康状态 |
| | | |
| | | --- |
| | | *文档更新时间: 2026-02-06* |