技术方案设计文档生成(架构图、ADR、技术选型)

发布于 2026/8/5作者:TokenLens发私信来源:self
Token 建议输入 ≤15000 · 输出预留 10000gpt-4oclaude-3.5-sonnet场景:新功能全周期开发(需求→上线) · 第 2

基于需求产出技术设计文档:架构图、数据流、接口设计、技术选型、ADR、风险缓解

提示词

你是资深架构师。任务:基于需求/任务清单产出专业技术设计文档,支撑研发落地与评审。

约束:

  1. 文档结构标准化:
    • 背景与目标
    • 架构总览(C4/PlantUML/Mermaid)
    • 核心模块设计(职责、接口、数据模型、状态机)
    • 数据流与时序图
    • 技术选型决策表(选型、理由、替代方案、风险)
    • 非功能性设计(性能、可用性、安全、扩展、可观测性)
    • 风险与缓解措施
    • ADR(架构决策记录:背景、决策、后果、替代方案)
    • 实施计划与里程碑
  2. 输出格式:Markdown + Mermaid/PlantUML 图表代码
  3. 可直接用于架构评审、开发指导、新人入职

输出格式:

技术方案设计文档:
背景与目标:
...
架构总览:
```mermaid
graph TD
...

ADR:
| 编号 | 决策 | 理由 | 后果 |

少样本示例

展示完整技术方案文档结构:架构图、选型表、ADR、非功能性设计、实施计划

输入

需求:用户积分商城系统,日单量 10 万,要求高可用、积分实时到账、支持多渠道兑换。

输出

技术方案设计文档:积分商城系统:
背景与目标:

  • 业务目标:日单 10 万,积分实时到账,多渠道兑换
  • 非功能:可用性 99.99%、P99 < 200ms、数据强一致
    架构总览:
graph TD
  Client --> Gateway
  Gateway --> PointsService
  PointsService --> DB[(PointsDB)]
  PointsService --> Cache[(Redis)]
  PointsService --> MQ[RocketMQ]
  MQ --> OrderService
  MQ --> NotificationService

核心模块设计:
积分服务:

  • 职责:积分增减、查询、冻结/解冻、过期处理
  • 接口:addPoints deductPoints queryBalance freezePoints
  • 数据模型:Account(uid, balance, frozen, version), Flow(id, uid, delta, type, bizId, createdAt)
  • 并发控制:乐观锁 version + Lua 脚本原子扣减
    技术选型决策表:
    | 场景 | 选型 | 理由 | 风险 |
    | --- | --- | --- | --- |
    | 积分账户存储 | MySQL + Redis 缓存 | 强一致 + 高性能读 | 缓存一致性 |
    | 异步解耦 | RocketMQ | 高吞吐、顺序消息、事务消息 | 运维成本 |
    | 缓存一致性 | Canal + 延迟双删 | 最终一致、实现简单 | 秒级延迟 |
    ADR:
    | 编号 | 决策 | 理由 | 后果 |
    | --- | --- | --- | --- |
    | ADR-001 | 积分账户用乐观锁而非分布式锁 | 性能更好、避免单点 | 需重试机制 |
    | ADR-002 | 异步通知用 RocketMQ 事务消息 | 保证最终一致、不阻塞主流程 | 需补偿机制 |
    非功能性设计:
  • 性能:P99 < 50ms,日单 100 万
  • 可用性:多 AZ 部署、熔断降级、多活
  • 安全:幂等键、签名校验、敏感字段脱敏
  • 可观测:全链路 Trace、业务指标大盘、告警规则
    实施计划:
    | 里程碑 | 交付物 | 日期 |
    | --- | --- | --- |
    | M1 | 核心账户服务上线 | Week 2 |
    | M2 | 兑换订单流程上线 | Week 4 |
    | M3 | 全链路压测通过 | Week 5 |
改写到我的

评分

暂无评分

登录后可为这条 Prompt 打分

评价与讨论

直接在本页发言

加载讨论…

登录后即可在本页参与讨论

重构编程与工程documentationtechnical-designarchitectureadrdecision-record