Skip to content

micro-java 微服务后端概览

路径:packages/micro-java
技术:Spring Boot 3.3 + Spring Cloud 2023 + Spring Cloud Alibaba + MyBatis-Plus + JWT

packages/server-java(单体 Spring Boot)并列,是 同一套 RBAC 契约 的另一种 Java 实现方式:按领域拆分为认证服务与系统服务,经 API 网关对外统一暴露 :8080

与 server-java 对比

维度server-java(单体)micro-java(微服务)
架构单进程,auth + system 同包gateway + auth-service + system-service
对外端口80808080(gateway)
服务发现Nacos
数据库直连 MySQLauth / system 各自连接;system 经 ShardingSphere-JDBC(当前单库)
分布式能力Seata(角色分配)、RabbitMQ/Kafka(用户创建事件)、Resilience4j 熔断
本地依赖MySQLMySQL + Nacos + RabbitMQ(默认);Seata / Kafka 可选
适用场景快速开发、小团队学习/演示微服务栈、后续水平扩展

前端 无需改代码VITE_API_BASE_URL=http://localhost:8080 与单体版相同,请求仍走 /api/v1/*

Maven 多模块结构

text
packages/micro-java/
├── pom.xml                 # 父 POM(Spring Cloud Alibaba BOM)
├── xichen-common/          # JWT、SecurityConfig、ApiResponse、全局异常
├── xichen-domain/          # Entity、Mapper、DTO(auth + system 共享)
├── auth-service/           # 登录、Token、/auth/me、改密  (:8081)
├── system-service/         # 用户/角色/菜单/权限 CRUD、MQ、Seata  (:8082)
└── gateway/                # Spring Cloud Gateway + 熔断降级  (:8080)

各可运行服务在 pnpm workspace 中注册了 package.json,可用 filter 启动:

npm 包名说明
@xichen-micro/gatewayAPI 网关
@xichen-micro/auth-service认证服务
@xichen-micro/system-service系统管理服务

快速启动(摘要)

完整步骤见 本地启动

bash
# 1. 基础设施
docker compose up -d          # MySQL
# 另需 Nacos :8848、RabbitMQ :5672(见基础设施文档)

# 2. 编译多模块(首次或改 common/domain 后)
cd packages/micro-java
mvn install -DskipTests

# 3. 按顺序启动(三个终端)
pnpm --filter @xichen-micro/auth-service dev
pnpm --filter @xichen-micro/system-service dev
pnpm --filter @xichen-micro/gateway dev

# 4. 验证
curl http://localhost:8080/api/v1/health

默认管理员:admin / admin123(由 system-serviceDataSeeder 写入)。

API 与文档

入口地址
统一 API(前端使用)http://localhost:8080/api/v1/...
auth Swagger(经网关)http://localhost:8080/auth-service/swagger-ui.html
system Swagger(经网关)http://localhost:8080/system-service/swagger-ui.html
Gateway Actuatorhttp://localhost:8080/actuator/gateway

契约与单体版一致:contracts/openapi/rbac-api.yaml

相关文档

Xichen Full Stack 内部文档