Files
jiebanke/backend-java
..

结伴客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)

brew install openjdk@17

Ubuntu/Debian

sudo apt update
sudo apt install openjdk-17-jdk

CentOS/RHEL

sudo yum install java-17-openjdk-devel

2. 安装Maven

macOS (使用Homebrew)

brew install maven

Ubuntu/Debian

sudo apt update
sudo apt install maven

CentOS/RHEL

sudo yum install maven

3. 验证安装

java -version
mvn -version

应该看到类似以下输出:

openjdk version "17.0.8" 2023-07-18
Apache Maven 3.8.6

数据库配置

  1. 安装MySQL 8.0+
  2. 创建数据库:
    CREATE DATABASE jiebanke CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    
  3. 执行初始化脚本:
    mysql -u root -p jiebanke < scripts/init-database.sql
    

缓存和消息队列

  1. 安装Redis 6.0+
  2. 安装RabbitMQ 3.8+

构建项目

# 进入项目目录
cd backend-java

# 清理并构建项目
./build-services.sh

运行服务

方式一:使用启动脚本(推荐)

# 进入项目目录
cd backend-java

# 启动所有服务
./start-services.sh

# 停止所有服务
./stop-services.sh

方式二:手动启动

  1. 启动Eureka Server

    cd eureka-server
    mvn spring-boot:run
    
  2. 等待Eureka启动完成后依次启动其他服务

    # 在新的终端窗口中启动Auth Service
    cd auth-service
    mvn spring-boot:run
    
    # 在新的终端窗口中启动User Service
    cd user-service
    mvn spring-boot:run
    
    # 以此类推启动其他服务...
    

访问服务

服务端口

服务名称 端口
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 文件。