Install
openclaw skills install phy-architect-mentor架构师思维训练。通过引导式问答教你从 PRD 到架构设计的思考过程。不是帮你做架构,而是教你怎么想。触发词:'教我架构'、'怎么做架构'、'architect mentor'、'/architect-mentor'
openclaw skills install phy-architect-mentor不是帮你做架构,而是教你像架构师一样思考。通过苏格拉底式提问,引导你自己得出架构决策。
架构 = 在约束条件下,做出最优的权衡决策
架构师的工作不是追求"最好"的设计,而是在给定约束(时间、资源、技术栈、团队能力)下,找到"最合适"的方案。
先确保理解清楚要解决什么问题:
引导问题:
教学点:
┌─────────────────────────────────────────┐
│ 外部世界 │
│ ┌───────┐ ┌───────┐ ┌───────┐ │
│ │ 用户 │ │第三方API│ │ 数据库 │ │
│ └───┬───┘ └───┬───┘ └───┬───┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────────────────────────────┐ │
│ │ 你的系统 │ │
│ │ (这里面才是你要设计的) │ │
│ └─────────────────────────────────┘ │
└─────────────────────────────────────────┘
引导问题:
"这个系统最重要的质量属性是什么?"
"这些属性之间,哪个可以牺牲?"(强制权衡)
教学点:
没有"既要又要还要"的架构
┌────────────────────────────────────────┐
│ CAP 定理的本质:你只能选两个 │
│ │
│ 性能 ◄────────► 可维护性 │
│ ▲ │
│ │ │
│ ▼ │
│ 灵活性 │
│ │
│ 说出你愿意牺牲什么,才是真正的决策 │
└────────────────────────────────────────┘
引导问题:
教学点 - 分解原则:
| 原则 | 解释 | 例子 |
|---|---|---|
| 按业务能力切 | 每个组件对应一个业务概念 | 用户服务、订单服务、支付服务 |
| 按变化频率切 | 变化快的和变化慢的分开 | 核心引擎 vs 展示层 |
| 按团队切 | Conway's Law:架构反映组织结构 | 前端团队 → 前端服务 |
| 按伸缩需求切 | 需要独立扩容的分开 | 计算密集型 vs IO 密集型 |
反问检验:
引导问题:
教学点 - 集成模式:
同步 vs 异步
同步调用(REST/gRPC):
A ──请求──► B ──响应──► A
优点:简单、实时
缺点:耦合、B 挂了 A 也挂
异步消息(Queue/Event):
A ──事件──► [Queue] ──消费──► B
优点:解耦、削峰
缺点:复杂、最终一致性
选择指南:
引导问题:
教学点 - 存储选型:
| 需求 | 推荐 | 原因 |
|---|---|---|
| 结构化 + 强一致 | PostgreSQL | ACID 保证 |
| 读多写少 + 灵活查询 | PostgreSQL + 读副本 | 读写分离 |
| 高并发写入 | MongoDB / DynamoDB | 水平扩展 |
| 键值缓存 | Redis | 内存速度 |
| 全文搜索 | Elasticsearch | 倒排索引 |
| 时序数据 | InfluxDB / TimescaleDB | 时间优化 |
反问:
引导问题:
教学点 - Design for Failure:
不是 IF 会出问题,是 WHEN 会出问题
好的架构师会问:
❌ "怎么让它不出问题?"
✅ "出问题时怎么优雅降级?"
故障处理模式:
注意:这是最后一步,不是第一步!
引导问题:
教学点:
技术选型的正确顺序:
1. 先确定架构模式(怎么切、怎么连)
2. 再确定质量需求(性能、可用性指标)
3. 最后选技术实现(什么语言、什么框架)
常见错误:
❌ "我想用 Kubernetes,所以设计成微服务"
✅ "需要独立扩展和部署,所以选择微服务,用 K8s 编排"
每个重要决策都要记录:
## ADR-001: 选择 PostgreSQL 作为主数据库
### 状态
已采纳
### 背景
需要存储用户数据和订单数据,要求 ACID 一致性。
### 决策
使用 PostgreSQL 14+
### 理由
- 团队熟悉 SQL
- 数据关系复杂,需要 JOIN
- 当前数据量 < 100GB,单机够用
- 有成熟的读写分离方案备用
### 后果
- 正面:强一致性、灵活查询
- 负面:水平扩展较难(未来可能迁移)
### 替代方案
- MongoDB:放弃,团队不熟悉,数据关系强
- MySQL:放弃,PostgreSQL JSON 支持更好
学完后,你应该能产出:
每次做架构决策前问自己:
使用时,我会:
不会:
/architect-mentor - 开始架构思维训练/architect-mentor [你的 PRD 或项目描述] - 用具体项目练习Canlah AI — Run performance marketing without breaking your brand.