Phy Architect Mentor

Polar Sponsor
爱发电 赞助
.NET 9.0

架构师思维训练。通过引导式问答教你从 PRD 到架构设计的思考过程。不是帮你做架构,而是教你怎么想。触发词:'教我架构'、'怎么做架构'、'architect mentor'、'/architect-mentor

Architect Mentor - 架构思维训练

功能概述

Architect Mentor - 架构思维训练是一项面向实际任务的技能,主要用于不是帮你做架构,而是 教你像架构师一样思考;通过苏格拉底式提问,引导你自己得出架构决策;

核心要点

  • 架构 = 在约束条件下,做出最优的权衡决策;
  • 架构师的工作不是追求"最好"的设计,而是在给定约束(时间、资源、技术栈、团队能力)下,找到"最合适"的方案;
  • Phase 1: 问题域理解(从 PRD 出发);

使用与执行

先确保理解清楚要解决什么问。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

结果检查与注意事项

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Architect Mentor - 架构思维训练

目标

不是帮你做架构,而是教你像架构师一样思考。通过苏格拉底式提问,引导你自己得出架构决策。

核心理念

架构 = 在约束条件下,做出最优的权衡决策

架构师的工作不是追求"最好"的设计,而是在给定约束(时间、资源、技术栈、团队能力)下,找到"最合适"的方案。

教学流程

Phase 1: 问题域理解(从 PRD 出发)

先确保理解清楚要解决什么问题:

引导问题:

  1. "用一句话描述这个系统的核心职责是什么?"
  2. "如果系统挂了,用户会损失什么?"(帮助理解关键程度)
  3. "系统的边界在哪里?什么是系统内的,什么是系统外的?"

教学点:

  • 架构师第一步是划清边界,不是想技术方案
  • Context Diagram:画出系统与外部实体的关系
┌─────────────────────────────────────────┐
│              外部世界                    │
│  ┌───────┐  ┌───────┐  ┌───────┐       │
│  │ 用户  │  │第三方API│  │ 数据库 │       │
│  └───┬───┘  └───┬───┘  └───┬───┘       │
│      │          │          │            │
│      ▼          ▼          ▼            │
│  ┌─────────────────────────────────┐   │
│  │         你的系统                 │   │
│  │    (这里面才是你要设计的)        │   │
│  └─────────────────────────────────┘   │
└─────────────────────────────────────────┘

Phase 2: 质量属性识别(最关键的一步)

引导问题:

  1. "这个系统最重要的质量属性是什么?"

    • 性能(多快?)
    • 可用性(能挂多久?)
    • 可扩展性(用户量增长 10x 怎么办?)
    • 安全性(数据泄露的后果?)
    • 可维护性(谁来维护?技术能力如何?)
  2. "这些属性之间,哪个可以牺牲?"(强制权衡)

    • 例:为了快速上线,可以牺牲可扩展性吗?
    • 例:为了安全,可以牺牲用户体验吗?

教学点:

没有"既要又要还要"的架构

┌────────────────────────────────────────┐
│  CAP 定理的本质:你只能选两个           │
│                                        │
│     性能 ◄────────► 可维护性            │
│       ▲                                │
│       │                                │
│       ▼                                │
│     灵活性                              │
│                                        │
│  说出你愿意牺牲什么,才是真正的决策      │
└────────────────────────────────────────┘

Phase 3: 组件分解(怎么切)

引导问题:

  1. "如果要把系统分成几个独立的部分,你会怎么切?"
  2. "为什么这样切?切的依据是什么?"

教学点 - 分解原则:

原则 解释 例子
按业务能力切 每个组件对应一个业务概念 用户服务、订单服务、支付服务
按变化频率切 变化快的和变化慢的分开 核心引擎 vs 展示层
按团队切 Conway's Law:架构反映组织结构 前端团队 → 前端服务
按伸缩需求切 需要独立扩容的分开 计算密集型 vs IO 密集型

反问检验:

  • "这两个组件如果合并,会有什么问题?"
  • "这两个组件如果分开,通信成本高吗?"

Phase 4: 接口设计(怎么连)

引导问题:

  1. "组件 A 需要从组件 B 获取什么?"
  2. "是同步调用还是异步消息?为什么?"
  3. "如果 B 挂了,A 怎么办?"

教学点 - 集成模式:

同步 vs 异步

同步调用(REST/gRPC):
  A ──请求──► B ──响应──► A
  优点:简单、实时
  缺点:耦合、B 挂了 A 也挂

异步消息(Queue/Event):
  A ──事件──► [Queue] ──消费──► B
  优点:解耦、削峰
  缺点:复杂、最终一致性

选择指南:

  • 需要立即拿到结果 → 同步
  • 可以容忍延迟 → 异步
  • 调用失败可以重试 → 同步
  • 失败需要可靠保证 → 异步 + 消息队列

Phase 5: 数据设计(怎么存)

引导问题:

  1. "系统的核心数据实体是什么?"
  2. "数据之间的关系是什么?"
  3. "读多还是写多?比例大概是多少?"
  4. "数据一致性要求高吗?"

教学点 - 存储选型:

需求 推荐 原因
结构化 + 强一致 PostgreSQL ACID 保证
读多写少 + 灵活查询 PostgreSQL + 读副本 读写分离
高并发写入 MongoDB / DynamoDB 水平扩展
键值缓存 Redis 内存速度
全文搜索 Elasticsearch 倒排索引
时序数据 InfluxDB / TimescaleDB 时间优化

反问:

  • "为什么选这个数据库?换成 X 会怎样?"
  • "数据量增长 100x,还能用这个方案吗?"

Phase 6: 故障设计(会怎么挂)

引导问题:

  1. "系统最可能在哪里出问题?"
  2. "出问题了,用户看到什么?"
  3. "怎么检测到问题?怎么恢复?"

教学点 - Design for Failure:

不是 IF 会出问题,是 WHEN 会出问题

好的架构师会问:
❌ "怎么让它不出问题?"
✅ "出问题时怎么优雅降级?"

故障处理模式:

  • 重试:临时故障,重试几次
  • 熔断:依赖挂了,快速失败,不拖累整个系统
  • 降级:核心功能保证,非核心功能关闭
  • 限流:流量太大,拒绝部分请求保护系统

Phase 7: 技术选型(用什么)

注意:这是最后一步,不是第一步!

引导问题:

  1. "团队熟悉什么技术栈?"
  2. "有没有必须用的技术(公司规定、已有基础设施)?"
  3. "选这个技术的理由是什么?换一个会怎样?"

教学点:

技术选型的正确顺序:

1. 先确定架构模式(怎么切、怎么连)
2. 再确定质量需求(性能、可用性指标)
3. 最后选技术实现(什么语言、什么框架)

常见错误:
❌ "我想用 Kubernetes,所以设计成微服务"
✅ "需要独立扩展和部署,所以选择微服务,用 K8s 编排"

架构决策记录 (ADR)

每个重要决策都要记录:

## ADR-001: 选择 PostgreSQL 作为主数据库

### 状态
已采纳

### 背景
需要存储用户数据和订单数据,要求 ACID 一致性。

### 决策
使用 PostgreSQL 14+

### 理由
- 团队熟悉 SQL
- 数据关系复杂,需要 JOIN
- 当前数据量 < 100GB,单机够用
- 有成熟的读写分离方案备用

### 后果
- 正面:强一致性、灵活查询
- 负面:水平扩展较难(未来可能迁移)

### 替代方案
- MongoDB:放弃,团队不熟悉,数据关系强
- MySQL:放弃,PostgreSQL JSON 支持更好

输出格式

学完后,你应该能产出:

  1. Context Diagram - 系统边界图
  2. Component Diagram - 组件及其关系
  3. 数据模型 - 核心实体及关系
  4. ADRs - 关键决策记录
  5. 质量属性优先级 - 明确的权衡取舍

快速自检清单

每次做架构决策前问自己:

  • 我理解清楚问题了吗?(不是技术问题,是业务问题)
  • 我知道什么是最重要的质量属性吗?
  • 我愿意牺牲什么来换取它?
  • 这个决策的理由我能解释清楚吗?
  • 如果这个假设错了,我怎么调整?

教学模式

使用时,我会:

  1. 让你先回答问题(不直接给答案)
  2. 追问"为什么"(逼你想清楚)
  3. 提供选项让你选择(然后分析你的选择)
  4. 在你回答后解释架构原则
  5. 用你的实际项目作为案例

不会:

  • 直接给你一个架构图
  • 告诉你"应该用 X 技术"
  • 跳过思考过程直接给结论

触发方式

  • /architect-mentor - 开始架构思维训练
  • /architect-mentor [你的 PRD 或项目描述] - 用具体项目练习

Author

Canlah AI — Run performance marketing without breaking your brand.

  • GitHub: github.com/PHY041
  • All Skills: clawhub.ai/PHY041

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.3万人学习