QuickBlue 微服务架构评估报告 v4.0

评估版本: QuickBlue v4.0.0 (PostgreSQL 版) 评估对象: QuickBlue-MicroAI-pg(后端 27 个 Maven 模块)+ QuickBlue-MicroAI-webpg(前端) 评估工具: 全量代码仓库扫描 + 静态分析 + 配置审计 评估日期: 2026-10-01 评估维度: 服务独立性、耦合度、数据隔离、扩展性、可维护性、技术栈先进性 评估角色: 专家团架构师(含架构设计师、安全专家、DBA、DevOps 专家、前端架构师) 基准环境(本项目根 pom 实测): Spring Boot 4.1.1 · Spring Cloud 2025.1.3 · Spring Cloud Alibaba 2025.1.0.0 · PostgreSQL 18 · JDK 21 历史版本总结: 见 QuickBlue微服务架构评估报告_v3.0.md


一、架构全景概览

1.1 系统架构拓扑

1.2 模块矩阵与 Java 源文件统计

层级模块maintest职责主键策略评分
网关层QuickBlue-gateway310统一入口、路由、鉴权、限流、跨域N/A⭐⭐⭐⭐
业务服务层QuickBlue-system1810用户/角色/部门/菜单/权限/登录/数据权限雪花算法⭐⭐⭐⭐
 QuickBlue-support3081文件/字典/配置/任务/帮助文档/代码生成/编号规则雪花算法⭐⭐⭐
 QuickBlue-business471通知公告、地区数据雪花算法⭐⭐⭐
 QuickBlue-ai2249AI 对话/RAG/智能体/流程/评审/合规网关/内容安全雪花算法⭐⭐⭐⭐⭐
 QuickBlue-report840报表引擎、BI、数据源管理雪花算法⭐⭐⭐⭐
监控层QuickBlue-admin30服务健康监控 (Spring Boot Admin)N/A⭐⭐⭐⭐
公共层QuickBlue-common-* (8 个)1312核心工具/DB/Redis/安全/Web/Swagger/日志/ExcelN/A⭐⭐⭐⭐
能力层QuickBlue-starter-* (2 个)111上下文传播、数据权限(SPI + fail-closed)N/A⭐⭐⭐⭐
契约层QuickBlue-api-* (5 个)610服务间契约与 DTO(@HttpExchange)N/A⭐⭐⭐⭐
前端层QuickBlue-MicroAI-webpg~400—管理后台 SPA(238 vue + 162 ts)N/A⭐⭐⭐⭐
总计27 个 Maven 模块108114———

1.3 核心技术栈版本矩阵

技术版本评估
Java21 (LTS)✅ 最新 LTS
Spring Boot4.1.1✅ 最新系列(含 Spring Framework 7)
Spring Cloud2025.1.3✅ 最新代
Spring Cloud Alibaba2025.1.0.0✅ 最新代
Nacos Client3.2.1✅ 最新代
PostgreSQL18(+ pgvector)✅ 最新
MyBatis-Plus3.5.17(-spring-boot4 变体)✅ 适配 Boot 4
Druid1.2.28(druid-spring-boot-4-starter)✅ 适配 Boot 4
Sa-Token1.46.0(sa-token-spring-boot4-starter)✅ 适配 Boot 4
Redisson4.7.0✅ 最新代
Resilience4j2.4.0✅ 最新
RocketMQ Starter2.3.6✅ 良好
Knife4j / SpringDoc5.4.0 / 3.1.0✅ 最新
Spring Boot Admin4.1.2✅ 适配 Boot 4
Micrometer Tracing + Brave + ZipkinBoot 配套✅ 集成(⚠️ 默认关闭)
Hutool / Fastjson2 / Guava / BouncyCastle5.8.39 / 2.0.58 / 33.4.8-jre / 1.80✅ 最新
EasyExcel / POI4.0.3 / 5.4.1✅ 最新
内部调用Spring 原生 @HttpExchange + RestClient✅ 未引入 OpenFeign
前端Vue 3 + Ant Design Vue 4✅ 最新
分布式事务Seata(声明存在)➖ 未启用(全仓 0 处使用)

二、核心评估维度


2.1 服务独立性评估

评分: 8.0 / 10 ⭐⭐⭐⭐

2.1.1 优势

特性分析
独立进程五个业务服务独立 Spring Boot 应用,独立端口(8082/8083/8084/8085/8086)+ 网关 8080 + 监控 9090
独立数据库五服务各自独立 PostgreSQL 数据库,JDBC 配置零例外只连自己的库
零跨模块直连全量 import 扫描:五个业务模块互相零直接依赖,全部经 api-* 契约
契约对齐api-* 与 modules-* 5 : 5 完全对齐,契约层被真实使用
独立 ID 生成雪花算法统一主键 + SnowflakeIdentifierGenerator(支持环境变量配置 workerId/datacenterId)
独立配置每个服务在 Nacos 有独立配置,共享配置 6 份(postgresql/redis/sa-token/common/level3-protect 等)

2.1.2 风险与不足

风险项详情严重度实测依据
跨库 SQL 绕过契约business 的 NoticeMapper.xml L79/L128 直接 FROM QuickBlue_system.t_employee🔴 高全量 SQL 扫描命中;t_employee 经 psql 确认存在于 system 库
代码生成器知晓全部库CodeGeneratorMultiDbConfig.java L55-59 列出 system/business/report/ai 四个库名🟡 中源码扫描
共用数据库账号五个库共用同一 PostgreSQL 账号🟡 中JDBC 配置实测
版本强绑定所有模块统一 4.0.0,无法单服务独立发版🟡 中根 pom <QuickBlue.version>

2.1.3 改进建议

  1. 整改跨库 SQL:改经 api-system 调用;确实高频时在 system 侧提供专用接口

  2. 代码生成器库清单配置化:从 Nacos 读取,避免硬编码

  3. 生产环境按服务独立建库账号:限制最小权限,杜绝跨库操作


2.2 耦合度评估

评分: 7.5 / 10 ⭐⭐⭐⭐

2.2.1 服务间通信拓扑

2.2.2 耦合分析

评估项状态分析实测依据
API 层设计✅ 优秀独立 api-* 模块定义契约与 DTO,接口与实现解耦,5:5 对齐import 矩阵
通信协议✅ 优秀Spring 原生 @HttpExchange + RestClient + LoadBalancer,未引入 OpenFeign全仓扫描无 OpenFeign
降级容错✅ 良好Resilience4j 2.4.0 按目标服务聚合熔断根 pom + 用量扫描
循环依赖✅ 无模块间零直接实现依赖,不存在循环import 矩阵
公共层边界✅ 优秀有可执行门禁:R1 引擎自包含 / R2 starter·common 不得依赖业务 / R3 不得含行业语义arch-check.ps1 扫描 1235 文件全 PASS
数据耦合🔴 严重business 跨库直查 system 表,形成隐式耦合(编译期无感、运行期报错)NoticeMapper.xml L79/L128
版本源集中度🟡 不足根 pom 未固定 flyway/sentinel/seata/pgvector/liteflow 等版本根 pom <properties> 实测
装配机制一致性🟡 不足common-* 靠组件扫描(隐含约定),starter-* 靠 AutoConfiguration(显式),两套并存源码 + META-INF/spring 实测

2.2.3 设计评价

公共层依赖层次清晰(L0→L3 四级),且边界已被"可执行门禁"固化 —— 这是本框架最有价值的工程资产。 但 business 的跨库 SQL 破坏了这套架构唯一的强制承诺:它绕过 api-system 契约,使两个服务的库表结构无法独立演进。


2.3 数据隔离评估

评分: 6.0 / 10 ⭐⭐⭐

2.3.1 数据库隔离策略

服务数据库表数特殊扩展Flyway 记录建表方式
systemquickblue_system21无1(仅 baseline)手工脚本
businessquickblue_business7无1(仅 baseline)手工脚本
supportquickblue_support33无1(仅 baseline)手工脚本
aiquickblue_ai23pgvector3Flyway(10 个脚本)
reportquickblue_report5无2Flyway(2 个脚本)
合计5 个独立库89———

2.3.2 隔离评估

评估项状态分析实测依据
物理隔离✅ 优秀五个服务各自独立数据库,JDBC 零例外只连自己的库nacos 配置实测
连接池隔离✅ 良好每服务独立 Druid 连接池配置实测
数据权限✅ 优秀QuickBlue-starter-datascope:平台定 DataScopeProvider SPI + 业务各自实现 + DenyAll fail-closed 兜底;三态语义(ALL/IDS/DENY)区分"解析不出"与"不需过滤"starter 源码 + 门禁扫描
主键策略✅ 统一全模块雪花算法(BIGINT + ASSIGN_ID)源码扫描
向量存储✅ 创新AI 服务用 PostgreSQL pgvector 实现向量存储,减少运维组件依赖 + 表结构
跨库直连🔴 严重business 在 SQL 中直查 QuickBlue_system.t_employeeNoticeMapper.xml L79/L128
迁移机制统一性🟠 不足三库仅 1 条 baseline(表实为手工脚本所建),ai 有 10 个脚本却只记录 3 条 → 两套机制并存flyway_schema_history 实查
租户列完整性🟡 不足t_serial_number_record.tenant_id NOT NULL DEFAULT 0,实体无该字段 → 写入恒为 0DDL + 实体比对
账号隔离⚠️ 不足五个库共用同一 PostgreSQL 账号JDBC 配置

2.3.3 改进建议

  1. 整改跨库 SQL(P0):改经 api-system;这是恢复"每服务一库"承诺的唯一方式

  2. 统一迁移机制(P1):Flyway 与手工脚本二选一并对齐;清除三个空的 db/migration 目录

  3. 生产环境每库独立账号:限制最小权限,从机制上杜绝跨库操作

  4. 补齐租户列:为不含租户的表补 tenant_id 并纳入隔离


2.4 扩展性评估

评分: 7.5 / 10 ⭐⭐⭐⭐

2.4.1 水平扩展能力

维度状态分析
服务发现✅ 优秀Nacos 3.2.1 注册中心,实例自动注册/下线
负载均衡✅ 良好Spring Cloud LoadBalancer 客户端负载均衡
无状态设计✅ 优秀Sa-Token 会话经 Redis 共享,服务本身无状态
ID 分布式友好✅ 良好自定义 SnowflakeIdentifierGenerator,越界/非法值启动即失败(不再静默取模)
连接池弹性✅ 良好Druid 合理弹性参数

2.4.2 扩展点盘点(本框架的核心优势)

扩展点现有实现形态成熟度
数据权限DataScopeProvider SPI + DataScopeInterceptorStarter + SPI + fail-closed 兜底🟢 范本
模型供应商ChatModelFactory + ChatModelFactoryManager策略模式(6 供应商)🟢
合规护栏ComplianceChatModel / …StreamingChatModel / …EmbeddingModel / …AgentScopeModel模型层装饰器(4 个)🟢
内容安全ContentSafetyProvider SPI + LocalKeywordSafetyProvider / AbstractHttpSafetyProviderSPI + 适配器🟢
智能体模型继承 AgentScope ChatModelBase 实现 doStream官方扩展点🟢
工具调用ToolRegistry + airag_tool 表注册表🟢
报表引擎report.engine + DatasourceConfigResolver SPI能力自包含(R1 门禁守护)🟢
上下文传播QuickBlue-starter-context + ContextContributor SPIStarter + SPI🟢

2.4.3 弹性治理与扩展短板

组件状态分析
RPC 熔断✅ 已用Resilience4j 2.4.0(按目标服务聚合)
Web 限流✅ 已用Sentinel + 网关路由级限流 + 规则持久化
消息队列✅ 已接入RocketMQ 2.3.6
分布式事务➖ 声明未用Seata 在 BOM 中,全仓 io.seata / @GlobalTransactional 0 处
链路追踪🟡 集成但默认关闭Micrometer Tracing + Zipkin
Starter 群🟠 未成型实际仅 context / datascope 两个
待上提能力🟠 被锁在业务模块编号规则引擎在 QuickBlue-support(且当前调用必失败:库中规则 ID 与枚举 ID 不匹配)
发布/版本化🟠 缺失未见 BOM 与私服发布机制

2.5 可维护性评估

评分: 5.5 / 10 ⭐⭐

2.5.1 代码组织与工程质量

维度状态分析实测依据
分层架构✅ 良好Controller → Service → Manager → DAO,分层清晰源码扫描
包结构🟡 部分不一致多数模块为 com.budaos.{模块}.{功能}.{层级};个别模块 18 个包平铺,缺少域/基建分界包清单实测
统一异常/响应✅ 良好common-core 提供统一异常体系与响应格式源码
AOP 横切✅ 优秀操作日志、防重复提交、数据权限均通过切面统一处理源码
架构门禁✅ 优秀4 条规则可执行,扫描 1235 个文件,非零退出即失败arch-check.ps1
单元测试🔴 严重不足14 个测试类 / 1081 个 main 文件 = 1.3%逐模块计数
空目录🟠 不足12 个空目录(含 system/plugin、META-INF/spring 等未完成意图)文件系统实测
源文件编码🟠 不足部分业务类中文注释乱码实测

2.5.2 测试覆盖分布(实测)

模块maintest说明
ai2249唯一体系化测试(63 个用例:合规/内容安全/装饰器)
common-database142雪花 ID 配置姿态测试
support3081编号规则
business471—
starter-datascope61装配守卫
system / report / gateway / admin2990🔴
common-core/web/security/redis/log/excel/swagger1170🔴
api-*(5 个)610🔴

2.5.3 配置管理

维度状态分析
配置分层✅ 优秀本地 yaml → Nacos 共享配置(6 份)→ 服务私有配置
环境区分✅ 良好多 profile(默认 dev),.env 区分 5 套环境
敏感信息🔴 严重application-dev.yaml 含明文口令(Ai@2026 / budaos),且 SPRING_PROFILES_ACTIVE 默认值 = dev;redis 存在弱默认值 ${REDIS_PASSWORD:budaos}
密钥管理⚠️ 部分已具备环境变量注入机制(${DB_PASSWORD}),但 dev 文件未落实

2.5.4 安全合规

维度状态分析
模型合规网关✅ 强制项已实现按 baseUrl 真实域名判定区域;白名单外一律不可用;四条链路装饰器(含向量化)
内容安全网关✅ 强制项已实现输入输出双向 + 流式分段缓冲;证据表(默认不存原文,仅长度 + 不可逆摘要 + 规则版本指纹)
留痕纪律✅ 优秀日志/异常/证据表三处统一"绝不记原文",只记长度与规则标签
三级等保✅ 优秀双因子认证、密码复杂度、定期改密、登录锁定、文件检测
密码加密✅ 优秀Argon2id + 自定义盐值
国密支持✅ 良好SM4 + BouncyCastle 1.80
SQL 注入防护✅ 良好Druid WallFilter 启用
XSS 防护✅ 良好后端 XssFilterConfig + 前端框架
CSRF⚠️ 需确认相关配置需专项复核

2.5.5 监控可观测性

维度状态分析
服务监控✅ 良好Spring Boot Admin 4.1.2
健康检查✅ 良好Actuator 端点
请求日志✅ 良好网关全局日志 + 慢请求
链路追踪🟡 集成未启用Micrometer Tracing + Zipkin,默认关闭
SQL 监控✅ 良好P6Spy 3.9.1 + MyBatis-Plus 日志
指标采集🟠 不足Prometheus / Grafana 未接入
告警🔴 缺失无配置化告警规则

2.6 技术栈先进性评估

评分: 9.0 / 10 ⭐⭐⭐⭐⭐

2.6.1 技术选型评价

选型评价分析
Java 21 (LTS)✅ 优秀虚拟线程等特性可用
Spring Boot 4.1.1 + Spring Framework 7✅ 极度前沿已跨过 Boot 3→4 大版本,全栈适配(MyBatis-Plus/Druid/Sa-Token/Knife4j 均为 boot4 变体)
原生 @HttpExchange 替代 OpenFeign✅ 务实少一层依赖,服务间契约用 Spring 原生能力
PostgreSQL 18 + pgvector✅ 正确一体化方案:关系型 + 向量检索,减少运维组件
Sa-Token 替代 Spring Security✅ 务实轻量、API 简洁
Redisson 4.7.0 分布式锁✅ 良好与 Redis 生态一致
AgentScope 2.0.2 + LangChain4j✅ 前瞻智能体开发框架,模型层具备官方扩展点
Argon2id 密码哈希✅ 最安全抗 GPU 攻击
Resilience4j + Sentinel 双机制✅ 分层清晰RPC 熔断 + Web 限流

2.6.2 技术风险

风险项分析严重度
Seata 未使用声明"支持 AT/TCC/Saga"但全仓 0 处使用,对外陈述易被高估🟡 中
可观测默认关闭能力具备但未常态化启用🟡 中
版本源不集中部分第三方依赖版本未在根 pom 固定🟡 中
Seata/Sentinel 等由 BOM 管理升级时缺乏全局视图🟢 低

三、架构评分总结

3.1 雷达图评分

3.2 综合评分

评估维度得分权重加权分说明
服务独立性8.020%1.60零跨模块直连;被 1 处跨库 SQL 拉低
耦合度7.520%1.50契约层生效 + 门禁守卫;扣分于跨库 SQL 与版本源
数据隔离6.015%0.90库级隔离正确;被跨库 SQL 击穿 + 三库无真实迁移
扩展性7.515%1.13Starter + SPI 成型;扣分于死依赖与能力未上提
可维护性5.520%1.10门禁优秀;测试 1.3%、无 CI、空目录与编码损坏并存
技术栈先进性9.010%0.90Boot 4.1.1 + Cloud 2025.1.3 + Java 21
综合得分—100%7.13 / 10(71.3 / 100)—

口径说明(重要): ① 上表采用加权口径(与历史报告 v6.0/v9.0 一致:服务独立性 20% / 耦合度 20% / 数据隔离 15% / 扩展性 15% / 可维护性 20% / 技术栈 10%)。 ② 若采用六维度均权口径,综合得分为 7.25 / 10(72.5 / 100)。 ③ 两种口径差异仅 1.2 分,源于可维护性权重不同 —— 本文档显式给出权重与两种结果,避免"一个分数、多种算法"。

3.3 架构成熟度定级

当前等级: L4 — 可管理级(部分达成)

等级名称要求当前状态
L1初始级能运行✅ 已达成
L2基础级服务拆分、独立部署✅ 已达成
L3规范级配置中心、网关、鉴权、监控✅ 已达成
L4可管理级完整熔断降级、链路追踪、分布式事务⚠️ 部分达成
L5优化级自动弹性伸缩、混沌工程、全量灰度❌ 未达成

维持 L4 的判断依据

晋升 L5 的前置条件:① 接入 CI 让门禁成为强制关卡;② 整改跨库 SQL 与凭据;③ 测试覆盖率提升至 30%+;④ 可观测常态化(追踪默认开启 + 告警)。


四、专家团优先改进路线图

4.1 紧急修复 (P0 — 立即执行)

#改进项影响工作量优先级
1接入 CI — arch-check.ps1 + mvn test 串成流水线(门禁已具备"非零退出即失败"形态,只差挂载点)终结"边界靠记忆",是其余改进的守门人0.5d🔴 极高
2整改跨库 SQL — business NoticeMapper.xml L79/L128 改经 api-system 调用恢复"每服务一库"的唯一强制承诺0.5d🔴 极高
3轮换明文凭据 — dev 文件口令视为已泄露需轮换;改为占位符;默认 profile 去敏感值安全合规0.5d🔴 高
4统一数据库迁移机制 — Flyway 与手工脚本二选一;清除三个空 db/migration消除只在启动时暴露的冲突隐患1d🔴 高

4.2 短期优化 (P1 — 1-2 月)

#改进项影响工作量优先级
5Starter 装配测试 — 补 Spring 上下文测试(历史曾漏掉启动期循环依赖)工程质量1d🔴 高
6核心 Service 测试 — system / support 关键路径(目标覆盖率 30%)质量保障3d🔴 高
7内容安全证据页前端 + 第三方适配器落地招标强制项闭环3d🟠 中高
8编号规则修通(规则 ID 与枚举对齐)并评估上提为 Starter扩展性1d🟠 中高
9Seata 决策 — 真接入或移除声明对外陈述真实性0.5d🟠 中高
10可观测常态化 — 追踪默认开启 + 配置化告警可观测性2d🟠 中高
11清理空目录(12 个)与统一源文件编码可维护性0.5d🟡 中
12BOM 化版本源 — 收敛第三方版本到根 pom可维护性1d🟡 中

4.3 中期增强 (P2 — 3-6 月)

#改进项影响工作量优先级
13Starter 群补齐 — audit / file / id / mq / observability扩展性5d🔴 高
14测试覆盖率至 60%(集成测试 + 契约测试)质量保障10d🟠 中高
15生产环境每库独立账号 + 密码加密(Jasypt/Vault)数据安全3d🟠 中高
16前端工程拆分(按域拆包或拆工程)构建与权限模型5d🟠 中高
17统一返回/异常/包结构规范并纳入门禁(R6/R7/R8)可维护性3d🟡 中
18多环境配置体系(dev/test/staging/prod Nacos 命名空间)环境管理3d🟡 中

4.4 长期演进 (P3 — 6-12 月)

#改进项影响工作量优先级
19分布式事务落地(跨服务一致性场景,Seata 或 Saga)数据一致性5d🟡 中
20自动弹性伸缩(K8s HPA + 指标)资源优化5d🟡 中
21混沌工程(故障注入、容错验证)系统韧性5d🟢 低
22全量灰度发布(蓝绿 / 金丝雀)发布安全5d🟢 低
23发布能力建设(BOM + 私服 + 版本兼容矩阵)对外授权/交付5d🟡 中

五、架构亮点与总结

5.1 核心亮点

  1. 模块边界真实成立:五个业务模块互相零直接依赖(全量 import 矩阵实测),全部经 api-* 契约;api 与 modules 5:5 对齐

  2. 架构边界可执行:arch-check.ps1 把 4 条边界做成"非零退出即失败",扫描 1235 个文件(含"框架不得含行业语义")

  3. 数据权限 fail-closed + SPI 化:平台定接口、业务各自实现、DenyAll 兜底 —— 未接 SPI 即全拒绝,不静默越权

  4. 合规与安全双护栏:模型合规按 baseUrl 真实域名判定区域且覆盖含向量化的四条链路;内容安全输入输出双向 + 流式分段缓冲

  5. 留痕纪律统一:日志 / 异常 / 证据表三处一致"绝不记原文";证据表只存长度 + 不可逆摘要 + 规则版本指纹

  6. 技术栈处于行业前列:Spring Boot 4.1.1 + Spring Cloud 2025.1.3 + Java 21 + 原生 @HttpExchange

  7. 五服务五库隔离准确:每个服务 JDBC 零例外只连自己的库

  8. 部署资产齐备:Dockerfile、docker-compose、build.sh、Sentinel 规则、部署脚本

  9. AI 能力内建:AgentScope 2.0.2 + LangChain4j + pgvector,智能体/工具/RAG/流程/评审齐备

5.2 风险汇总(实测)

级别风险状态
🔴 P0跨库 SQL 击穿数据隔离❌ 待整改
🔴 P0明文凭据入库 + 默认 profile 为 dev❌ 待整改
🔴 P0测试覆盖率 1.3%❌ 待补齐
🔴 P0无 CI,门禁无挂载点❌ 待接入
🟠 P1迁移机制不统一(三库仅 baseline)❌ 待统一
🟠 P1Seata 零使用 / 编号规则调用必失败❌ 待决策/修正
🟠 P1内容安全证据页前端未做 / 第三方未接❌ 待开发
🟡 P2空目录 12 个 / 部分源文件编码损坏❌ 待清理

5.3 总体评价

QuickBlue v4.0.0 是一个骨架强、边界清、技术栈新的微服务框架。它做对了三件在同类脚手架里少见的事:

但它同时暴露出两个结构性问题:

结论:这是一个 "架构已到位、工程化待补课" 的框架。 最值得投入的不是新增能力,而是把已有的边界与纪律变成机器守得住的东西 —— 这也是路线图把"接入 CI"列为 P0 第 1 项的原因。


六、专家团分席意见

6.1 架构设计师

分层(common → starter → api → modules)是对的,模块间零直连这一点比多数同类脚手架做得好。 但分层必须能回答"新东西放哪"—— 当前缺一条决策规则(含业务语义→域;需被多域复用→starter;需自动装配→starter;否则→common),否则 support(308 文件 / 18 包)这类模块会持续膨胀。 最该立刻做的一件事:把 NoticeMapper.xml 的跨库 SQL 改为经 api-system 调用 —— 它破坏的正是这套架构唯一的强制承诺。

6.2 安全专家

正向:Sa-Token 1.46.0 + Argon2id + SM4 国密 + BouncyCastle;网关鉴权、XSS 过滤、Druid WallFilter 在位;模型合规与内容安全的留痕纪律是同类项目里少见的自觉。 必须处理:① 明文口令入库,且 SPRING_PROFILES_ACTIVE 默认值为 dev;② redis 存在弱默认值;③ 跨库 SQL 绕过 system 侧的行级权限与字段脱敏;④ 进入 git 的口令应视为已泄露,需轮换而非仅删除。

6.3 DBA

正向:五服务五库,每服务只连自己的库(零例外);Druid + p6spy + MyBatis-Plus 分页/租户插件齐备;89 张表规模可控。 两点必办:① 迁移机制不统一(三库只有 baseline,表实为手工脚本所建)—— 必须二选一并对齐,否则将来会在启动时报出难以定位的冲突;② 跨库查询使两库无法独立迁移/备份恢复,也破坏了"按域分库"带来的部署自由度。

6.4 DevOps 专家

正向:deploy/docker-compose.yml、deploy/build.sh、docker/Dockerfile.app、deploy/scripts、nacos_config/sentinel-rules 均齐备;Nacos 3.2.1 承担注册与配置;Spring Boot Admin 4.1.2 提供运行态面板。 最大缺口:没有 CI。 仓库内不存在任何 CI 配置。arch-check.ps1 已具备挂载形态,但在接入之前,架构边界仍然依赖"人记得执行"。 建议:先把 arch-check.ps1 与 mvn test 串成一条最小流水线 —— 这比补任何单个功能更能守住质量线。

6.5 前端架构师

实测:前端工程 QuickBlue-MicroAI-webpg —— 238 个 .vue + 162 个 ts/js,views 按域组织:support 54 / system 47 / ai 34 / business 16 / report 12 / install 2。 意见:① 页面规模已到需要按域拆分工程或至少拆分路由包的程度,否则构建与权限模型会先于功能成为瓶颈;② 前端测试未纳入自动化;③ .env 区分 development/localhost/pre/production/test 五套,环境治理良好,但需确认 .env.* 未携带敏感值入库。


七、附录

7.1 取证方式与证据

维度结论取证方式
版本号逐项读取根 pom.xml <properties>
模块规模逐模块统计 src/main 与 src/test 下 .java 数量
模块依赖矩阵全仓扫描 import com.budaos.<模块>. 并按来源归组
数据隔离读取 nacos_config/services/*.yaml 的 JDBC URL;psql 实查各库表数与 flyway_schema_history
跨库 SQL全仓大小写不敏感 SQL 扫描 + t_employee 存在性 psql 确认
依赖是否真被使用对 io.seata / sleuth / micrometer 等做全仓使用性扫描
空目录 / 编码 / CI文件系统实测
架构门禁运行 tools/arch-check.ps1(R1/R2/R2/R3 全 PASS,扫描 1235 文件)

7.2 验证边界(本报告未做的事)

7.3 版本约定


报告生成: 专家团架构师评审(架构设计师 / 安全专家 / DBA / DevOps 专家 / 前端架构师) 评估工具: 全量代码仓库扫描 + 静态分析 + 配置审计 技术栈: Spring Boot 4.1.1 + Spring Cloud 2025.1.3 + Spring Cloud Alibaba 2025.1.0.0 + PostgreSQL 18 + JDK 21 + Vue 3 项目版本: QuickBlue 4.0.0 规范: 所有边界规则以 tools/arch-check.ps1 为准(可执行、非零退出即失败)