bookworm-smart-assistant/skills/architect-expert/references/tech-stack-matrix.md

6.5 KiB
Raw Blame History

技术栈推荐矩阵

基于黄金路径"主张性"原则,提供经过验证的技术选型推荐。

选型原则

  1. 优先成熟稳定:生产验证 > 技术新颖
  2. 生态系统完整:工具链、社区、人才储备
  3. 认知负荷最小化:学习曲线与团队匹配
  4. 长期可维护性:活跃维护、向后兼容

应用架构模式选型

场景特征 推荐模式 理由
早期产品、团队<10人 模块化单体 快速迭代,避免分布式复杂性
成熟产品、多团队并行 微服务 独立部署,团队自治
事件驱动、高弹性需求 Serverless 按需扩展,成本优化
遗留系统现代化 绞杀者模式 渐进式迁移,风险可控

架构决策树

项目类型?
├── MVP/早期产品
│   └── 推荐: 模块化单体 (Next.js/Rails/Django)
├── 成长期产品
│   ├── 需要独立扩展? 
│   │   ├── 是 → 微服务 (容器化)
│   │   └── 否 → 继续单体,关注模块边界
└── 成熟产品
    └── 按领域边界拆分微服务

后端技术栈

Tier 1: 首选推荐

场景 推荐栈 理由
通用Web服务 Go + Gin/Echo 高性能、部署简单、并发模型清晰
快速开发 Python + FastAPI 开发效率、类型提示、异步支持
企业级应用 Java 21+ + Spring Boot 3 生态成熟、人才充足、长期支持
高并发/实时 Node.js + NestJS 事件驱动、TypeScript支持

Tier 2: 特定场景

场景 推荐栈 适用条件
系统级性能 Rust + Axum 团队有Rust经验性能敏感
.NET生态 C# + ASP.NET Core 现有.NET投资Windows生态
函数计算 TypeScript + AWS Lambda Serverless优先架构

前端技术栈

核心框架

场景 推荐栈 理由
通用SPA React 18+ + TypeScript 生态最大、人才最多、灵活性高
全栈一体 Next.js 14+ (App Router) SSR/SSG、API路由、优化内置
渐进增强 Vue 3 + Nuxt 3 学习曲线平缓、官方全家桶
高性能需求 Svelte + SvelteKit 编译时优化、bundle更小

样式方案

优先级 方案 适用场景
1 Tailwind CSS 通用首选,原子化、一致性好
2 CSS Modules + Sass 需要传统CSS组织方式
3 styled-components 动态样式需求、CSS-in-JS偏好

状态管理

复杂度 推荐方案 说明
简单 React内置 (useState/useContext) 避免过度工程
中等 Zustand 轻量、直观、TypeScript友好
复杂 Redux Toolkit + RTK Query 完整工具链、中间件生态

数据层

关系型数据库

场景 推荐 理由
通用OLTP PostgreSQL 16+ 功能丰富、JSONB支持、扩展生态
高并发读写 MySQL 8+ / PlanetScale 成熟稳定、分布式扩展方案
嵌入式/边缘 SQLite 零配置、高可靠

NoSQL数据库

场景 推荐 理由
文档存储 MongoDB Atlas 灵活Schema、托管服务成熟
缓存 Redis 7+ 数据结构丰富、集群支持
搜索 Elasticsearch / OpenSearch 全文搜索、日志分析
时序数据 TimescaleDB / InfluxDB 时序优化、压缩高效

消息队列

场景 推荐 理由
通用异步 Apache Kafka 高吞吐、持久化、生态丰富
轻量级 Redis Streams 已有Redis、需求简单
云原生 AWS SQS / GCP Pub/Sub 托管服务、免运维

基础设施

容器与编排

层级 推荐 说明
容器运行时 Docker / containerd 行业标准
编排平台 Kubernetes (托管) EKS/GKE/AKS优先避免自建
轻量替代 Docker Compose + Swarm 小规模、快速起步

基础设施即代码

场景 推荐 理由
多云/通用 Terraform 生态最大、状态管理成熟
AWS专用 AWS CDK (TypeScript) 类型安全、与AWS深度集成
Kubernetes Helm + Kustomize 模板化、环境差异管理

GitOps工具

推荐 适用场景
ArgoCD Kubernetes原生、UI友好、多集群
Flux v2 轻量、GitOps Toolkit、可组合

开发者工具链

CI/CD

场景 推荐 理由
GitHub生态 GitHub Actions 深度集成、市场丰富
自托管 GitLab CI 完整DevOps平台
企业级 Jenkins + BlueOcean 灵活可控、插件生态

可观测性

层面 推荐 说明
统一采集 OpenTelemetry 厂商中立、标准化
指标 Prometheus + Grafana 开源标准、告警成熟
日志 Loki / Elasticsearch 与Grafana集成 / 功能丰富
追踪 Jaeger / Tempo 分布式追踪、开源方案
托管方案 Datadog / New Relic 一站式、减少运维负担

开发者门户

推荐 说明
Backstage Spotify开源、事实标准、插件生态
Port SaaS方案、快速上手

安全工具链

阶段 工具 用途
代码扫描 Semgrep / SonarQube SAST静态分析
依赖检查 Snyk / Dependabot SCA漏洞扫描
容器安全 Trivy / Grype 镜像漏洞扫描
密钥检测 GitLeaks / TruffleHog 防止密钥泄露
密钥管理 HashiCorp Vault 集中式密钥管理
策略引擎 OPA / Kyverno 策略即代码

技术选型决策模板

每项技术选型须记录:

## 技术选型: [名称]

### 背景
[为什么需要做这个决策]

### 选项分析
| 选项 | 优势 | 劣势 | 风险 |
|------|------|------|------|
| A    |      |      |      |
| B    |      |      |      |

### 决策
选择 [X],理由:[简述核心理由]

### 后果
- 正面:[预期收益]
- 负面:[需要接受的权衡]

### 验证计划
[如何验证决策正确性]