# architecture-designer > 根据项目需求文档进行系统架构设计,包括技术选型、中间件选择、架构模式设计和最佳实践应用。适用于新系统架构设计、现有系统重构评估、技术方案评审等场景。 - Author: xutianrui - Repository: xtr9496/my_coze_skill - Version: 20260122144928 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/xtr9496/my_coze_skill - Web: https://mule.run/skillshub/@@xtr9496/my_coze_skill~architecture-designer:20260122144928 --- --- name: architecture-designer description: 根据项目需求文档进行系统架构设计,包括技术选型、中间件选择、架构模式设计和最佳实践应用。适用于新系统架构设计、现有系统重构评估、技术方案评审等场景。 --- # 架构设计助手 ## 任务目标 - 本 Skill 用于:根据项目需求文档,进行系统架构设计和中间件选型 - 能力包含: - 需求分析与非功能性需求提取 - 技术栈与中间件选型决策 - 架构模式选择与设计 - 方案对比与风险评估 - 触发条件:用户提供项目需求文档、系统改造需求或技术方案评审请求 ## 前置准备 - 无特殊依赖或前置文件要求 ## 操作步骤 ### 1. 需求分析 阅读用户提供的需求文档,提取以下关键信息: **功能性需求**: - 核心业务功能 - 业务流程和交互 - 数据模型和关系 **非功能性需求**(重点评估): - 性能指标(QPS、响应时间、并发用户数) - 可用性要求(SLA、容灾目标) - 扩展性需求(业务增长预期) - 安全性要求(数据加密、访问控制) - 成本预算(基础设施、运维成本) - 团队技术栈(现有技术能力) - 时间约束(上线周期) ### 2. 架构设计 基于需求分析结果,设计系统架构: **架构模式选择**: - 参考架构模式指南,选择适合的架构模式(单体/微服务/分布式/事件驱动等) - 确定服务拆分策略(如果采用微服务) **模块划分**: - 识别核心业务领域 - 定义模块边界和职责 - 设计模块间通信方式 **数据流转设计**: - 数据存储方案(数据库选型) - 缓存策略(缓存位置、失效策略) - 消息传递(异步通信场景) - 搜索需求(搜索引擎选型) ### 3. 中间件选型 根据场景和约束条件选择合适的中间件: **数据库选型**: - 关系型数据库:MySQL/PostgreSQL(事务强一致、复杂查询) - NoSQL 数据库:MongoDB(文档存储)、Cassandra(高写入)、HBase(大数据) **缓存选型**: - Redis:高性能、丰富数据结构、主从复制 - Memcached:简单缓存、内存高效 **消息队列**: - Kafka:高吞吐、日志收集、流处理 - RabbitMQ:可靠消息传递、复杂路由 - RocketMQ:分布式事务、消息顺序 **搜索引擎**: - Elasticsearch:全文检索、日志分析 - Solr:传统搜索、稳定成熟 **服务治理**: - 服务注册:Nacos、Consul、Eureka - API 网关:Spring Cloud Gateway、Kong、APISIX - 配置中心:Nacos、Apollo、ZooKeeper 详细选型指导见 [references/middleware-selection.md](references/middleware-selection.md) ### 4. 方案输出 生成完整的架构设计文档: **架构设计文档结构**: 1. 需求概述(功能性+非功能性需求) 2. 架构总览(架构模式说明) 3. 模块设计(模块划分、职责定义) 4. 数据设计(存储方案、数据流转) 5. 技术选型(中间件清单及选型理由) 6. 部署架构(基础设施、服务部署) 7. 风险评估(技术风险、业务风险、应对措施) 8. 演进路线(阶段性规划) **技术方案对比表**: 针对关键决策点,生成对比表格: - 方案 A vs 方案 B:优劣势对比、适用场景、成本分析 ## 资源索引 - 必要脚本: - [scripts/generate_architecture_doc.py](scripts/generate_architecture_doc.py)(生成完整架构设计文档) - [scripts/middleware_selector.py](scripts/middleware_selector.py)(智能中间件选型推荐) - 模板资源: - [assets/templates/requirements_template.md](assets/templates/requirements_template.md)(需求收集模板) - [assets/templates/adr_template.md](assets/templates/adr_template.md)(架构决策记录模板) - 领域参考: - [references/middleware-selection.md](references/middleware-selection.md)(何时读取:需要选择中间件时) - [references/architecture-patterns.md](references/architecture-patterns.md)(何时读取:确定架构模式时) - [references/architecture-patterns-comparison.md](references/architecture-patterns-comparison.md)(何时读取:架构模式选择决策) - [references/best-practices.md](references/best-practices.md)(何时读取:设计架构细节时) ## 注意事项 - 优先考虑团队现有技术栈和技术能力,避免过度复杂化 - 技术选型需要权衡性能、成本、可维护性等多个维度 - 对于 MVP 阶段,推荐渐进式架构设计,避免过度设计 - 提供多套方案供用户选择,并说明适用场景和风险 ## 使用示例 ### 示例 1:电商平台架构设计 **用户请求**:设计一个支持百万级用户的电商平台架构,要求高可用、高性能 **执行方式**: 1. 智能体分析需求:高并发、高可用、交易强一致性 2. 选择架构模式:微服务架构 + 分布式 3. 中间件选型:MySQL(主库)、Redis(缓存)、Kafka(异步消息)、Elasticsearch(商品搜索) 4. 输出完整架构设计文档 ### 示例 2:日志分析系统选型 **用户请求**:需要收集和分析系统日志,日增量 10TB,支持实时查询 **执行方式**: 1. 智能体分析需求:大数据量、实时查询 2. 技术选型:Kafka(日志收集)、Elasticsearch(存储和检索)、Kibana(可视化) 3. 提供架构方案和部署建议 ### 示例 3:现有系统改造评估 **用户请求**:现有单体系统需要拆分成微服务,提供改造建议 **执行方式**: 1. 智能体分析现有系统结构 2. 参考 [references/architecture-patterns.md](references/architecture-patterns.md) 中的微服务拆分策略 3. 输出拆分方案、技术选型、迁移路径