Skip to content

Latest commit

 

History

History
167 lines (144 loc) · 9.65 KB

File metadata and controls

167 lines (144 loc) · 9.65 KB

总体架构

架构全景

HTTPS · REST /api/v1 负载均衡 · Nacos 服务发现 编译期引入 · 运行于各服务进程内 持久化 · 缓存 · 消息 · 存储 · 注册配置

接入层 CLIENT Vue 3 Admin · :3000 Element Plus · Vite 移动端 H5 · 小程序 桌面端 Electron 三方系统 OpenAPI · Webhook

网关层 GATEWAY mate-gateway · :9010 Spring WebFlux (Reactor) Sa-Token 统一鉴权 · 灰度路由 · 限流熔断 · Trace 链路透传 · CORS · 安全响应头

业务服务层 SERVICES · DDD mate-auth · :9020 认证 · 登录 · Token mate-system · :9030 RBAC · 字典 · 配置 · AI mate-notice · :9050 短信 · 邮件 · 站内信 业务服务(可扩展) mate new module

Dubbo RPC(同步服务间调用) 服务内部统一 DDD 四层: trigger 触发层 › application 应用层 › domain 领域层 · 零框架 › infrastructure 基础设施

能力层 STARTERS · 即插即用 核心 · 默认引入 web · ds · cache · nacos rpc · sa-token · monitor 业务 · 按需引入 mq · job · security · file excel · tenant · sms · sso · menu 高级 · contrib ai · model · gray · flow · rule seata · sentinel · sharding · test

基础设施层 INFRASTRUCTURE MySQL 8.0 JDBC · Flyway Redis 7 Redisson · 缓存/锁 RabbitMQ 3.13 领域事件 · AMQP Nacos v3.2 注册 · 配置中心 MinIO 对象存储 · S3

可观测性 Actuator · Prometheus Micrometer Tracing · 链路

核心设计原则

1. 最小公共

mate-common 只包含纯类型(DTO、枚举、异常),零自动配置。不会因为引入公共包而带入不需要的依赖。

2. Starter = 即插即用

每个 Starter 封装一个完整的横切关注点。业务模块通过 Maven 依赖引入 Starter,自动配置即刻生效,无需手动写 @Bean

3. DDD 四层架构

所有业务模块遵循统一的 DDD 四层结构。Domain 层零框架依赖,确保业务逻辑的纯粹性。

4. CQRS 读写分离

写操作通过 CommandService(带 @Transactional),读操作通过 QueryService(接口 + 实现),严格分离。

5. 五层配置

配置体系 确保服务启动文件只需 ~15 行,环境差异通过 Nacos 动态管理。

服务通信

  • 同步调用:网关 → 服务走 HTTP,服务间走 Dubbo RPC
  • 异步通信:RabbitMQ 消息队列 + 领域事件
  • 服务发现:Nacos
  • 配置中心:Nacos