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

评估版本: QuickBlue v4.0.0 (PostgreSQL 版)
评估工具: Qoder 架构分析引擎
评估日期: 2026-03-29


一、架构全景概览

1.1 系统架构拓扑

1.2 模块矩阵

层级模块职责技术栈
网关层QuickBlue-gateway统一入口、路由、鉴权、限流、API聚合Spring Cloud Gateway + WebFlux
业务服务层QuickBlue-system用户/角色/部门/菜单/权限/登录Spring Boot 3.5 + MBP
 QuickBlue-business通知、区域等业务功能Spring Boot 3.5 + MBP
 QuickBlue-support文件、邮件、验证码、日志、代码生成、定时任务Spring Boot 3.5 + MBP + S3
 QuickBlue-aiAI对话、RAG知识库、智能体、LLM模型管理LangChain4j + LiteFlow + pgvector
监控层QuickBlue-admin服务健康监控Spring Boot Admin 3.4.4
公共层QuickBlue-common-* (8个)核心工具/DB/Redis/安全/Web/Swagger/日志/Excel按关注点分离
API层QuickBlue-api-* (4个)服务间 Feign 接口定义与DTOOpenFeign + LoadBalancer
前端层QuickBule-admin-webpg管理后台SPAVue 3.4 + Ant Design Vue 4.2

二、核心评估维度


2.1 服务独立性评估

评分:7.5 / 10 ⭐⭐⭐⭐

2.1.1 优势

特性分析
独立进程每个业务服务(system/business/support/ai)独立 Spring Boot 应用、独立端口(8081-8084)、独立部署
独立数据库四个服务各自拥有独立 PostgreSQL 数据库(quickblue_system/business/support/ai)
独立配置每个服务在 Nacos 有独立的配置文件(QuickBlue-*-pg.yaml),支持运行时热更新
独立构建Maven 多模块,每个服务可独立打包为可执行 JAR(spring-boot-maven-plugin:repackage
独立技术演进AI 服务独立引入 LangChain4j/LiteFlow/Kotlin 等技术栈,不影响其他服务

2.1.2 风险与不足

风险项详情严重度
common 膨胀所有业务服务均依赖全部 7 个 common 模块(core/database/redis/security/swagger/web/log),形成"全家桶"依赖模式,降低独立性🟡 中
common-core 过重core 模块同时引入 spring-boot-starter-webmybatis-plus-extensionsa-token-corefastjson+fastjson2(两个 JSON 库并存),网关层也被迫传递引入 web starter🟠 中高
缺少独立启动隔离若 Redis/Nacos 不可用,所有服务均无法启动,无本地降级方案🟡 中
版本强绑定所有模块版本统一为 4.0.0,无法对单个服务独立发版升级🟡 中

2.1.3 改进建议

  1. 按需引入 common 模块:business 服务不需要 excel 模块,应移除不必要依赖

  2. 拆分 common-core:将 mybatis-plus-extensionsa-token-core 从 core 中分离,网关只需轻量 core

  3. 统一 JSON 库:移除 fastjson,仅保留 fastjson2(已在 BOM 中管理)

  4. 引入独立版本号管理:各服务模块可独立定义 version,通过 BOM 管理兼容性


2.2 耦合度评估

评分:7.0 / 10 ⭐⭐⭐⭐

2.2.1 服务间通信拓扑(Feign 调用链)

2.2.2 耦合分析

评估项状态分析
API 层设计✅ 良好通过独立的 api-* 模块定义 Feign 接口和 DTO,实现了接口与实现的解耦
通信协议✅ 良好使用 OpenFeign + OkHttp 替代默认 HttpClient,性能更优,支持连接池和 GZIP 压缩
降级容错⚠️ 部分LoginFeignClient 有 Fallback 实现,但其余 16 个 Feign 客户端均无降级方案
循环依赖✅ 无system→support(单向),business→system+support(单向),ai→system(单向),无循环调用
数据耦合⚠️ 存在system 和 business 通过 api-system 共享大量 DTO(7个),DTO 变更影响所有消费方
common 横切耦合🟠 较重8 个 common 模块内部存在交叉依赖(redis→web→core, security→redis→web→core),层次较深

2.2.3 common 模块依赖关系

问题common-redis 反向依赖 common-web(为了防重复提交功能),造成层次混乱。Redis 应为底层基础设施,不应依赖 Web 层。

2.2.4 改进建议

  1. 全面补齐 Feign Fallback:为所有 FeignClient 提供降级实现,避免级联故障

  2. 解耦 redis→web 依赖:将防重复提交的抽象接口移至 core 或独立模块

  3. 引入事件驱动:日志记录、消息通知等场景可用 RocketMQ(已在 BOM 中声明但未使用)异步解耦

  4. DTO 版本兼容:考虑在 DTO 中使用 @JsonIgnoreProperties(ignoreUnknown = true) 增强前后兼容性


2.3 数据隔离评估

评分:8.5 / 10 ⭐⭐⭐⭐⭐

2.3.1 数据库隔离策略

服务数据库表数量(估)核心表特殊扩展
systemquickblue_system~15t_employee, t_department, t_role, t_menu, t_login_fail, t_data_scope_config
businessquickblue_business~8通知、区域等业务表
supportquickblue_support~20文件、日志、配置、验证码、邮件、任务等
aiquickblue_ai~10airag_app, airag_model, airag_knowledge, airag_knowledge_doc, embeddingspgvector 向量扩展

2.3.2 隔离评估

评估项状态分析
物理隔离✅ 优秀四个服务各自独立数据库,避免表名冲突和事务干扰
连接池隔离✅ 良好每个服务独立 HikariCP 连接池(max=20, min=5),互不影响
数据权限✅ 良好system 服务实现了完整的数据权限体系(t_data_scope_config),支持本人/部门/全部多级别
逻辑删除✅ 统一MyBatis Plus 全局配置 logic-delete-field: deletedFlag,所有表统一规范
账号隔离⚠️ 不足四个数据库共用同一个 PostgreSQL 账号 sdgs2026,生产环境存在越权风险
敏感数据⚠️ 风险Redis 密码、数据库密码以明文存储在 Nacos 配置和 bootstrap.yaml 中
向量存储✅ 创新AI 服务利用 PostgreSQL pgvector 扩展实现向量存储,无需额外部署 Milvus/Qdrant

2.3.3 表设计规范分析

维度评估
主键策略system 使用 BIGSERIAL(自增),AI 使用 VARCHAR(36)(UUID)。混合策略,不统一
索引设计✅ AI 表索引设计合理(状态、名称、类型等关键字段均建索引)
字符集✅ 统一 UTF-8 (LC_COLLATE='en_US.UTF-8')
审计字段✅ 所有表均有 create_time/update_time/create_by/update_by
表命名system 用 t_* 前缀,AI 用 airag_* 前缀,命名风格不统一

2.3.4 改进建议

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

  2. 密码加密存储:Nacos 配置启用 jasypt 加密或 Vault 密钥管理

  3. 统一主键策略:建议统一为雪花算法(id-type: assign_id),既有序又分布式友好

  4. 统一表命名规范:建议 qb_模块_表名 格式(如 qb_sys_employee, qb_ai_app


2.4 扩展性评估

评分:8.0 / 10 ⭐⭐⭐⭐

2.4.1 水平扩展能力

维度状态分析
服务发现✅ 优秀Nacos 注册中心,服务实例自动注册/下线,支持多实例水平扩展
负载均衡✅ 良好Spring Cloud LoadBalancer 客户端负载均衡,网关 lb:// 前缀自动路由
无状态设计✅ 良好Sa-Token 会话通过 Redis 共享,服务本身无状态,可自由扩缩容
连接池弹性✅ 良好HikariCP 配置了合理的弹性参数(min=5, max=20)
重试机制✅ 良好business 服务配置了 LoadBalancer 重试策略(同实例0次,下一实例1次)

2.4.2 垂直扩展能力

维度状态分析
新服务接入✅ 容易新增服务只需:创建 module + 创建 api 模块 + 创建独立 DB + 注册 Nacos + 网关加路由
AI 能力扩展✅ 优秀LangChain4j BOM 管理,支持 7+ 个 LLM 提供商(OpenAI/Ollama/智谱/千帆/通义/Anthropic/DeepSeek)
流程编排✅ 创新LiteFlow 流程引擎 + 多脚本引擎(Groovy/Python/Kotlin/JS/Aviator),可视化编排AI工作流
文件存储✅ 良好支持本地存储和 AWS S3 兼容存储双模式切换
缓存扩展✅ 良好多级缓存架构:Caffeine(本地) + Redis(分布式) + Redisson(分布式锁)

2.4.3 弹性治理能力

组件状态分析
熔断降级⚠️ 声明未用Sentinel 依赖已引入,Nacos DataSource 已配置,但未见规则定义和 Fallback 实现
分布式事务⚠️ 声明未用Seata 2.0.0 在 BOM 中管理,但未被任何模块实际引入
消息队列⚠️ 声明未用RocketMQ 在 BOM 中管理,但未被任何模块实际引入
链路追踪⚠️ 版本冲突Sleuth 3.1.12(Spring Cloud 2021.x 版本)与当前 Spring Cloud 2025.0.1 不兼容,应替换为 Micrometer Tracing

2.4.4 改进建议

  1. 落地 Sentinel 规则:为核心接口配置限流/降级规则,通过 Nacos 持久化

  2. 引入 Micrometer Tracing:替换已废弃的 Sleuth,实现分布式链路追踪

  3. RocketMQ 异步化:日志写入、文件处理、AI知识库索引等场景异步化

  4. 容器化就绪:添加 Dockerfile 和 Kubernetes 部署描述符


2.5 可维护性评估

评分:7.5 / 10 ⭐⭐⭐⭐

2.5.1 代码组织

维度状态分析
分层架构✅ 良好Controller → Service → DAO/Manager → Domain,分层清晰
包结构✅ 规范com.budaos.{模块}.{功能}.{层级},命名一致
统一异常✅ 良好common-core 提供统一异常体系,common-web 提供全局异常处理
统一响应✅ 良好common-core 定义统一返回格式(domain 包含 11 个基础领域对象)
注解驱动✅ 良好自定义注解丰富(core 5个 + web 2个 + system 2个 + database 2个)
AOP 横切✅ 良好操作日志、防重复提交、数据权限等通过 AOP 切面统一处理

2.5.2 配置管理

维度状态分析
配置分层✅ 优秀三级配置体系:bootstrap.yaml(本地) → 共享配置(Nacos公共) → 服务配置(Nacos私有)
共享配置✅ 良好5 个公共配置(postgresql/redis/sa-token/common/level3-protect),避免重复
热更新✅ 良好Nacos 共享配置开启 refresh: true,运行时可动态刷新
环境区分⚠️ 不足仅有 dev profile,缺少 test/staging/prod 多环境配置
敏感信息🟠 风险Nacos 密码、Redis 密码、DB 密码均明文存储在源码仓库的 yaml 文件中

2.5.3 监控可观测性

维度状态分析
服务监控✅ 良好Spring Boot Admin 3.4.4 监控面板,所有服务注册为客户端
健康检查✅ 良好Actuator 端点暴露 health/info/metrics/prometheus/env/loggers
Prometheus 指标✅ 良好开启 Prometheus 端点,支持对接 Grafana 可视化
请求日志✅ 良好网关 GlobalLogFilter 记录全量请求/响应日志,含慢请求告警(>3s)
链路追踪❌ 缺失RequestHeaderFilter 添加了 X-Request-Id,但缺少真正的分布式链路追踪(Zipkin/SkyWalking)
SQL 监控✅ 良好P6Spy 集成 + MyBatis Plus 日志,开发环境可追踪全量 SQL

2.5.4 安全合规

维度状态分析
三级等保✅ 优秀独立的等保配置模块:双因子认证、密码复杂度、定期改密、登录锁定、文件检测
密码加密✅ 良好使用 Argon2id 算法(当前最安全的密码哈希算法之一)
国密支持✅ 良好引入 BouncyCastle SM4 算法、sm-crypto 前端加密
网关鉴权⚠️ 不完整AuthenticationFilter 仅检查 Token 存在性,Token 有效性验证被注释掉
CORS✅ 有网关层配置了 CORS 支持

2.5.5 改进建议

  1. 完善网关 Token 验证:取消 AuthenticationFilter 中的注释代码,接入 Sa-Token 或 JWT 验证

  2. 敏感信息外置:使用环境变量或 Vault 管理密码,从代码仓库中移除明文密码

  3. 多环境配置:补全 test/staging/prod 环境的 Nacos 命名空间和配置

  4. 引入分布式追踪:集成 Micrometer Tracing + Zipkin/Jaeger


2.6 技术栈先进性评估

评分:9.0 / 10 ⭐⭐⭐⭐⭐

2.6.1 核心技术栈版本矩阵

技术当前版本业界最新稳定版评估
Java21 (LTS)21 LTS✅ 最新LTS,支持虚拟线程、Pattern Matching
Spring Boot3.5.103.5.x✅ 最新系列
Spring Cloud2025.0.12025.0.x✅ 最新代
Spring Cloud Alibaba2025.0.0.02025.0.x✅ 最新代
PostgreSQL Driver42.7.442.7.x✅ 最新
MyBatis Plus3.5.73.5.7✅ 最新
Nacos Client2.4.32.4.x✅ 最新
Sa-Token1.44.01.44.x✅ 最新
Redisson3.50.03.50.x✅ 最新
LangChain4j1.12.21.12.x✅ 最新
LiteFlow2.15.02.15.x✅ 最新
Hutool5.8.395.8.x✅ 最新
Knife4j4.6.04.6.x✅ 最新
Lombok1.18.341.18.x✅ 最新
Vue3.4.273.4.x✅ 最新
Ant Design Vue4.2.54.x✅ 最新
Vite5.2.125.x✅ 最新

2.6.2 技术选型评价

选型评价分析
PostgreSQL 替代 MySQL✅ 优秀决策更强的 JSON 支持、pgvector 向量扩展、更好的并发性能、原生 JSONB
Sa-Token 替代 Spring Security✅ 务实选择轻量级、API 简洁、国产框架对国内场景适配更好
OkHttp 替代默认 HttpClient✅ 性能优化连接池复用、HTTP/2 支持、GZIP 压缩,Feign 调用性能显著提升
pgvector 替代独立向量数据库✅ 架构简化减少运维组件,利用 PostgreSQL 生态一体化管理
LangChain4j 多模型支持✅ 前瞻性支持 7+ 个 LLM 提供商,灵活切换模型,避免厂商锁定
LiteFlow 多脚本引擎✅ 灵活性支持 Groovy/Python/Kotlin/JS/Aviator 5 种脚本语言,AI 工作流高度可定制
Caffeine + Redis 多级缓存✅ 性能设计L1 本地缓存减少网络开销,L2 分布式缓存保证一致性
Druid 连接池⚠️ 保守父 POM 声明了 Druid,但实际使用 HikariCP(Spring Boot 默认),两者并存造成混淆

2.6.3 技术风险

风险项分析影响
Sleuth 版本不兼容Sleuth 3.1.12 属于旧版 Spring Cloud,与 2025.0.x 不兼容,已被 Micrometer Tracing 替代🟠 中高
Guava 版本冲突common-core 硬编码 guava:20.0(2016年),父POM管理 guava:33.3.1-jre,存在版本冲突🟠 中高
swagger-annotations 版本冲突common-core 硬编码 swagger-annotations:2.2.25,父POM管理 2.2.30,不一致🟡 中
Seata 2.0.0 未使用声明了分布式事务能力但未实际落地,跨服务数据一致性依赖应用层保障🟡 中
Resilience4j 声明未用BOM 中管理但未被任何模块引入,与 Sentinel 功能重叠🟢 低

三、架构评分总结

3.1 雷达图评分

3.2 综合评分

评估维度得分权重加权分
服务独立性7.520%1.50
耦合度7.020%1.40
数据隔离8.515%1.28
扩展性8.015%1.20
可维护性7.515%1.13
技术栈先进性9.015%1.35
综合得分 100%7.86 / 10

3.3 架构成熟度定级

当前等级:L3 — 规范级(接近 L4 可管理级)

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

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

4.1 紧急修复(P0 — 1-2 周)

#改进项影响工作量
1修复 Guava 版本冲突(core 中 20.0 → 移除硬编码,使用父POM 33.3.1)运行时类冲突0.5d
2修复 swagger-annotations 版本冲突(core 中硬编码→移除,使用父POM管理)注解不兼容0.5d
3移除 Sleuth 依赖声明(与 Spring Cloud 2025.0.x 不兼容)启动异常风险0.5d
4完善 AuthenticationFilter Token 验证逻辑安全漏洞1d
5敏感信息(密码)从源码 yaml 中移除,改用环境变量安全合规1d

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

#改进项影响工作量
6所有 Feign 客户端补齐 Fallback 降级实现服务韧性3d
7落地 Sentinel 限流降级规则(至少核心登录/查询接口)流量治理3d
8集成 Micrometer Tracing + Zipkin,实现分布式链路追踪可观测性3d
9拆分 common-core(web starter/mybatis-plus/sa-token 分离)独立性5d
10解耦 common-redis 对 common-web 的反向依赖架构清洁2d
11统一 JSON 库(移除 fastjson,仅保留 fastjson2)减少冗余2d
12数据库账号按服务独立创建(生产环境)数据安全1d

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

#改进项影响工作量
13引入 RocketMQ 异步化日志写入和通知发送性能/解耦5d
14容器化改造(Dockerfile + docker-compose + K8s 部署描述)DevOps5d
15多环境配置体系(dev/test/staging/prod Nacos 命名空间)环境管理3d
16统一主键策略为雪花算法数据规范3d
17配置密码加密(Jasypt 或 Vault)安全加固3d
18灰度发布支持(基于 Nacos 元数据版本路由)发布安全5d

五、架构亮点与总结

5.1 核心亮点

  1. 技术栈极度前沿:Java 21 + Spring Boot 3.5 + Spring Cloud 2025.0 + Spring Cloud Alibaba 2025.0,处于 Java 微服务技术栈的最前沿

  2. AI 能力内建:LangChain4j + pgvector + LiteFlow 流程引擎,将 AI/RAG 能力作为微服务原生能力内建,架构前瞻性极强

  3. 数据库选型正确:PostgreSQL + pgvector 一体化方案,既满足关系型数据需求,又原生支持向量检索,减少运维复杂度

  4. 安全合规齐全:三级等保配置模块化、Argon2id 密码哈希、SM4 国密支持、数据权限多级控制

  5. API 文档一体化:Knife4j + SpringDoc 网关聚合,开发体验友好

  6. 多级缓存设计:Caffeine(L1) + Redis(L2) + Redisson(分布式锁),缓存架构成熟

  7. OpenFeign + OkHttp 高性能通信:连接池复用、GZIP 压缩、细粒度超时控制

5.2 总体评价

QuickBlue v4.0.0 是一个技术栈极其前沿架构分层清晰AI 能力前瞻的微服务框架。核心架构设计(服务拆分、数据隔离、配置管理、安全体系)达到了企业级应用的生产标准。主要改进空间集中在治理能力落地(Sentinel/链路追踪实际启用)和代码级工程规范(版本冲突、common 模块瘦身、Feign 降级补齐)两个方向。在完成 P0/P1 阶段改进后,该架构可从 L3 规范级顺利晋升至 L4 可管理级,具备支撑大规模生产部署的能力。


← 杩斿洖鏂囨。棣栭〉 ← 返回文档首页