让 AI 帮你设计清晰、可扩展的系统架构
我要开发一个 [项目类型],请帮我设计系统架构。
## 项目背景
[简要描述项目目的和背景]
## 功能需求
1. [核心功能 1]
2. [核心功能 2]
3. [核心功能 3]
## 非功能需求
- 预期用户量:[X 人]
- 并发要求:[X QPS]
- 数据量级:[X 条/GB]
- 可用性要求:[99.9%]
## 技术偏好(可选)
- 语言:[如 Python/Go/Node.js]
- 部署环境:[如 云服务器/Serverless/K8s]
请提供:
1. 整体架构图(用 Mermaid 或 ASCII)
2. 技术栈选型及理由
3. 核心模块划分
4. 数据流设计
5. 关键设计决策说明
请帮我设计数据库结构:
## 业务场景
[描述业务场景]
## 核心实体
1. [实体 1]:[描述]
2. [实体 2]:[描述]
3. [实体 3]:[描述]
## 主要操作
- [操作 1]:[频率]
- [操作 2]:[频率]
## 约束条件
- 数据库类型:[MySQL/PostgreSQL/MongoDB]
- 数据量预估:[X 条]
请提供:
1. ER 图(Mermaid 格式)
2. 建表 SQL
3. 索引设计
4. 关键查询示例
请帮我设计 RESTful API:
## 资源描述
[描述要管理的资源]
## 功能需求
1. [功能 1]
2. [功能 2]
3. [功能 3]
## 用户角色
- [角色 1]:[权限描述]
- [角色 2]:[权限描述]
请提供:
1. API 端点列表(方法、路径、描述)
2. 请求/响应示例(JSON 格式)
3. 错误码设计
4. 认证方案
5. 版本控制策略
请帮我进行模块划分:
## 项目描述
[描述项目]
## 当前代码结构
[粘贴目录结构或描述]
## 问题
[描述当前架构的问题,如:耦合严重/职责不清]
请:
1. 分析当前架构问题
2. 提出模块划分方案
3. 定义模块间接口
4. 给出重构路径
我想将单体应用拆分为微服务:
## 当前系统
[描述当前单体应用]
## 业务模块
1. [模块 1]:[描述]
2. [模块 2]:[描述]
3. [模块 3]:[描述]
## 拆分动机
[为什么要拆分]
## 约束条件
- 团队规模:[X 人]
- 技术栈:[当前技术栈]
- 时间预算:[X 个月]
请提供:
1. 服务划分方案
2. 服务间通信设计
3. 数据一致性方案
4. 部署架构
5. 渐进式迁移计划
请帮我设计一个可扩展的系统:
## 当前规模
- 用户量:[X]
- 数据量:[X]
- QPS:[X]
## 目标规模
- 用户量:[X]
- 数据量:[X]
- QPS:[X]
## 当前架构
[描述或图示]
请提供:
1. 扩展瓶颈分析
2. 水平扩展方案
3. 缓存策略
4. 数据库扩展方案
5. 成本估算
请帮我设计安全架构:
## 系统描述
[描述系统]
## 敏感数据
- [数据类型 1]
- [数据类型 2]
## 合规要求
- [如 GDPR/等保]
请提供:
1. 认证方案
2. 授权模型
3. 数据加密策略
4. 审计日志设计
5. 安全最佳实践清单
请帮我撰写技术方案文档:
## 需求背景
[描述需求]
## 目标
[描述目标]
请按以下结构输出:
# 技术方案:[标题]
## 1. 背景与目标
## 2. 方案概述
## 3. 详细设计
### 3.1 架构设计
### 3.2 数据设计
### 3.3 接口设计
## 4. 技术选型
## 5. 风险评估
## 6. 里程碑计划
## 7. 附录
请用 Mermaid 画出系统架构图:
系统包含:
- [组件 1]
- [组件 2]
- [组件 3]
关系:
- [组件 1] 调用 [组件 2]
- [组件 2] 读写 [数据库]
请用 Mermaid 画出以下流程的时序图:
参与者:
- 用户
- 前端
- 后端
- 数据库
流程:
1. [步骤 1]
2. [步骤 2]
3. [步骤 3]
请检查我的架构设计是否符合以下原则:
架构描述:
[描述你的架构]
检查项:
- [ ] 单一职责原则
- [ ] 开闭原则
- [ ] 依赖倒置原则
- [ ] 高内聚低耦合
- [ ] 关注点分离
- [ ] 可测试性
- [ ] 可观测性
请指出不符合的地方并给出改进建议。