DEBUG_GUIDE.md 2.9 KB

拖轮项目多服务调试指南

项目结构

本项目由四个服务组成:

  1. com.lianda.auth - 认证服务

    • 端口: 8083
    • 路径: /auth 作为认证服务根路径
  2. JavaBackend - Spring Boot 后端服务

    • 端口: 8080
    • 路径: /api 作为API根路径
  3. Vue Frontend - Vue.js 前端服务

    • 端口: 8082
    • API代理: 将 /api 请求代理到后端
  4. FlinkDataSync - CDC 数据同步服务

    • 无端口,后台运行
    • 功能: 实时将 TugboatCommon 数据库同步到 LiandaTugboatMIS 数据库

启动方式

方式一:一键启动脚本

运行 PowerShell 脚本:

.\start-all.ps1

方式二:手动启动

1. 启动认证服务

进入 com.lianda.auth 目录:

cd com.lianda.auth

使用 Maven 启动:

mvn spring-boot:run

2. 启动后端服务

进入 JavaBackend 目录:

cd JavaBackend

使用 Maven 启动:

mvn spring-boot:run

或者打包后运行:

mvn clean package -DskipTests
java -jar target/java-backend-1.0-SNAPSHOT.jar

3. 启动前端服务

进入 vue-frontend 目录:

cd vue-frontend

安装依赖(首次运行时):

npm install

启动开发服务器:

npm run serve

4. 启动数据同步服务

进入 FlinkDataSync 目录:

cd FlinkDataSync

构建项目:

mvn clean package -DskipTests

运行数据同步服务:

java -cp target/flink-data-sync-1.0-SNAPSHOT.jar com.lianda.flink.sync.MySqlCdcSync

服务地址

数据库配置

后端配置了双数据源:

  • 读库 (liandatugboatmis): 用于读取业务数据
  • 写库 (tugboatcommon): 用于写入公共数据

数据库连接信息在 application.properties 中配置。

调试注意事项

  1. 确保数据库服务正在运行且可以连接
  2. 检查防火墙设置,确保端口 8080、8082 和 8083 可访问
  3. 前端通过代理自动处理跨域问题
  4. 后端JWT认证机制需要正确配置密钥
  5. FlinkDataSync 需要连接到 MySQL 数据库,确保数据库可访问

常见问题

1. 端口被占用

  • 检查是否有其他进程占用了 8080、8082 或 8083 端口
  • 修改相应配置文件中的端口号

2. 数据库连接失败

  • 确认数据库服务正在运行
  • 检查 application.properties 中的数据库连接信息

3. 前端无法访问后端API

  • 确认后端服务已启动
  • 检查 vue.config.js 中的代理配置

4. FlinkDataSync 启动失败

  • 确认 MySQL 数据库可访问
  • 检查数据库连接配置(hostname: 192.168.0.77, port: 3306)
  • 确认数据库用户权限正确(root/bowin@2023)