跳到主要内容

系统架构

架构原则

  • 单体优先:一期采用模块化单体,不拆微服务
  • 依赖倒置:领域层不依赖基础设施
  • 可替换边界:搜索、存储都有 SPI 抽象

模块结构

server/
├── skillhub-app/ # 启动、配置装配、Controller
├── skillhub-domain/ # 领域模型 + 领域服务 + 应用服务
├── skillhub-auth/ # OAuth2 认证 + RBAC + 授权判定
├── skillhub-search/ # 搜索 SPI + PostgreSQL 全文实现
├── skillhub-storage/ # 对象存储抽象 + LocalFile/S3
└── skillhub-infra/ # JPA、通用工具、配置基础

模块依赖

app → domain, auth, search, storage, infra
infra → domain
auth → domain
search → domain
storage → (独立)

技术栈

层级技术版本
运行时Java21
框架Spring Boot3.2.3
数据库PostgreSQL16.x
缓存/会话Redis7.x

部署架构

┌──────────────┐
│ Browser / CLI│
└──────┬───────┘


┌──────────────┐
│ Web/Nginx │
└──────┬───────┘
│ /api/*

┌──────────────┐
│ Spring Boot │
└───┬────┬─────┘
│ │
▼ ▼
PostgreSQL Redis

下一步