# 结伴客Java后端 结伴客Java微服务架构后端系统,基于Spring Boot和Spring Cloud实现。 ## 系统架构 - **服务注册与发现**: Eureka Server - **API网关**: Spring Cloud Gateway - **认证服务**: Auth Service - **用户服务**: User Service - **旅行服务**: Travel Service - **动物服务**: Animal Service - **订单服务**: Order Service - **推广服务**: Promotion Service ## 环境要求 - **JDK**: Java 17 - **构建工具**: Maven 3.6+ - **数据库**: MySQL 8.0+ - **缓存**: Redis 6.0+ - **消息队列**: RabbitMQ 3.8+ ## 环境安装 ### 1. 安装Java 17 #### macOS (使用Homebrew) ```bash brew install openjdk@17 ``` #### Ubuntu/Debian ```bash sudo apt update sudo apt install openjdk-17-jdk ``` #### CentOS/RHEL ```bash sudo yum install java-17-openjdk-devel ``` ### 2. 安装Maven #### macOS (使用Homebrew) ```bash brew install maven ``` #### Ubuntu/Debian ```bash sudo apt update sudo apt install maven ``` #### CentOS/RHEL ```bash sudo yum install maven ``` ### 3. 验证安装 ```bash java -version mvn -version ``` 应该看到类似以下输出: ``` openjdk version "17.0.8" 2023-07-18 Apache Maven 3.8.6 ``` ## 数据库配置 1. 安装MySQL 8.0+ 2. 创建数据库: ```sql CREATE DATABASE jiebanke CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 3. 执行初始化脚本: ```bash mysql -u root -p jiebanke < scripts/init-database.sql ``` ## 缓存和消息队列 1. 安装Redis 6.0+ 2. 安装RabbitMQ 3.8+ ## 构建项目 ```bash # 进入项目目录 cd backend-java # 清理并构建项目 ./build-services.sh ``` ## 运行服务 ### 方式一:使用启动脚本(推荐) ```bash # 进入项目目录 cd backend-java # 启动所有服务 ./start-services.sh # 停止所有服务 ./stop-services.sh ``` ### 方式二:手动启动 1. 启动Eureka Server: ```bash cd eureka-server mvn spring-boot:run ``` 2. 等待Eureka启动完成后,依次启动其他服务: ```bash # 在新的终端窗口中启动Auth Service cd auth-service mvn spring-boot:run # 在新的终端窗口中启动User Service cd user-service mvn spring-boot:run # 以此类推启动其他服务... ``` ## 访问服务 - **Eureka Dashboard**: http://localhost:8761 - **API Gateway**: http://localhost:8080 - **API文档**: http://localhost:8080/doc.html ## 服务端口 | 服务名称 | 端口 | |---------|------| | Eureka Server | 8761 | | API Gateway | 8080 | | Auth Service | 8081 | | User Service | 8082 | | Travel Service | 8083 | | Animal Service | 8084 | | Order Service | 8085 | | Promotion Service | 8086 | ## 性能优化 详细的性能优化指南请参考 [PERFORMANCE_OPTIMIZATION.md](PERFORMANCE_OPTIMIZATION.md) 文件。