架构师思维训练。通过引导式问答教你从 PRD 到架构设计的思考过程。不是帮你做架构,而是教你怎么想。触发词:'教我架构'、'怎么做架构'、'architect mentor'、'/architect-mentor
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.
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.3万人学习
共49课时 | 82.7万人学习
最新文章