Files
jiebanke/backend-java/README.md

159 lines
2.7 KiB
Markdown
Raw Normal View History

# 结伴客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) 文件。