architecture.md 1.1 KB

架构说明

系统采用前后端分离的模块化单体架构。后端是一个 Spring Boot 应用,按业务域划分包结构;异步任务通过 RabbitMQ 队列执行,也支持本地内联处理以便开发和测试稳定运行。

组件

  • Web UI:Vue 3 管理端,提供表格、表单、审批、任务和审计页面。
  • REST API:统一 /api/v1 前缀,统一响应、分页和错误结构。
  • 数据库:PostgreSQL 保存核心业务数据,Flyway 维护迁移。
  • 缓存:Redis 保存登录失败计数、幂等键和短期状态。
  • 队列:RabbitMQ 承载薪酬核算、导入导出、Webhook 重试任务。
  • 文件存储:本地目录保存导入源文件和导出 CSV。
  • 可观测性:Actuator health、结构化日志、correlationId。

数据流

  1. 用户登录后获取 access token 与 refresh token。
  2. 前端调用业务 API,后端进行请求级、方法级、对象级和数据范围鉴权。
  3. 长任务创建任务记录并返回任务 ID;任务完成后更新状态和文件路径。
  4. 敏感操作写入 audit_logs,记录 before/after、操作者、IP、UA、关联 ID 和 hash 链。