Java 主业务后端
基于 Spring Boot 构建的主业务后端,负责稳定、强事务、强权限的业务能力。
当前处于起步阶段,后续会逐步向微服务架构演进。
定位
Java 后端是整个产品的核心业务底座,承担所有需要强一致性、事务保障和权限管控的业务能力:
- 用户认证与鉴权
- App 用户档案管理
- 经期记录与健康数据管理
- 健康指导与内容管理
- 管理后台 RBAC 权限体系
- 文件存储与对象存储
- 审计日志与操作日志
- 后续微服务拆分的基础
技术栈
| 方面 | 技术 |
|---|---|
| 框架 | Spring Boot 3.5.x |
| 语言 | Java 21 |
| 构建 | Maven |
| ORM | MyBatis-Plus |
| 数据库迁移 | Flyway |
| 缓存 | Redis |
| API 文档 | Springdoc OpenAPI |
| 数据库 | MySQL 8.0+ |
架构演进方向
起步阶段 成熟阶段
┌────────────────┐ ┌──────────────────┐
│ 模块化单体 │ ──► │ 微服务集群 │
│ │ │ │
│ backend/java/ │ │ Auth/User Service│
│ ├─ system/ │ │ Period Service │
│ ├─ period/ │ │ Content Service │
│ ├─ pain/ │ │ Reminder Service │
│ ├─ content/ │ │ Notification Svc │
│ └─ agent/ │ │ Agent Adapter │
└────────────────┘ │ API Gateway │
└──────────────────┘起步阶段保持 模块化单体,按业务边界划分模块但不拆分部署;待业务规模和团队分工明确后,再按服务边界逐步拆分微服务。
模块规划
| 模块 | 职责 |
|---|---|
| common | 统一响应、异常处理、分页、Redis、上下文等基础能力 |
| system | 用户认证、角色、菜单、部门、操作日志等后台基础模块 |
| user | App 用户与健康档案管理 |
| period | 经期记录 CRUD |
| pain | 疼痛记录 CRUD |
| content | 健康指导内容管理 |
| reminder | 提醒配置与通知任务 |
| agent | 调用 Python Agent 服务的适配层 |
服务间调用
Java 主后端通过 HTTP 调用 Python Agent 服务,不直接承载 AI 模型调用和复杂 prompt 编排:
Vue 管理后台
│
▼
Java 主后端 ←── HTTP ───→ Python Agent 服务
│
▼
MySQL + Redis