159 lines
2.7 KiB
Markdown
159 lines
2.7 KiB
Markdown
|
|
# 结伴客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) 文件。
|