重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
system-architecture by yennanliu/cs_basics
npx skills add https://github.com/yennanliu/cs_basics --skill system-architecture在以下情况使用此技能:
功能需求:
非功能需求:
约束条件:
示例问题:
- 每日活跃用户数是多少?
- 读写比例是多少?
- 平均数据大小是多少?
- 峰值负载与平均负载的对比?
- 是否需要实时更新?
- 是否允许数据丢失?
计算:
流量:
- DAU = 1 亿用户
- 每个用户每天发出 10 个请求
- QPS = 1亿 * 10 / 86400 ≈ 11,574 QPS
- 峰值 QPS = 平均值的 2-3 倍 ≈ 30,000 QPS
存储:
- 1 亿用户 * 每个用户 1KB = 100GB
- 3 倍复制 = 300GB
- 年增长:300GB * 365 天 = 109.5TB/年
带宽:
- QPS * 平均请求大小
- 11,574 * 10KB = 115.74MB/s
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
内存/缓存:
核心组件:
绘制架构图:
[Clients] → [CDN]
↓
[Load Balancer]
↓
[Application Servers]
↙ ↓ ↘
[Cache] [DB] [Queue] → [Workers]
↓
[Object Storage]
SQL 与 NoSQL 决策:
使用 SQL 的场景:
使用 NoSQL 的场景:
分片策略:
user_id % num_shards模式设计:
-- 示例:URL 短链接服务
CREATE TABLE urls (
id BIGSERIAL PRIMARY KEY,
short_url VARCHAR(10) UNIQUE NOT NULL,
long_url TEXT NOT NULL,
user_id BIGINT,
created_at TIMESTAMP DEFAULT NOW(),
expires_at TIMESTAMP,
click_count INT DEFAULT 0,
INDEX (short_url),
INDEX (user_id)
);
缓存策略:
淘汰策略:
负载均衡:
消息队列模式:
水平扩展:
垂直扩展:
微服务:
单体架构:
[Single App] → [DB]
微服务:
[User Service] → [User DB]
[Post Service] → [Post DB]
[Feed Service] → [Feed DB]
优点:
缺点:
复制:
故障转移:
速率限制:
断路器:
状态:
Closed → 正常操作
Open → 立即拒绝请求
Half-Open → 测试服务是否恢复
内容分发:
数据一致性:
API 设计:
RESTful:
GET /api/users/{id}
POST /api/users
PUT /api/users/{id}
DELETE /api/users/{id}
GraphQL:
query {
user(id: "123") {
name
posts {
title
}
}
}
使用此结构 (基于 system_design/00_template.md):
# {系统名称}
## 1. 需求
### 功能需求
- [列出核心功能]
### 非功能需求
- 规模:[用户数, QPS, 数据量]
- 性能:[延迟要求]
- 可用性:[正常运行时间目标]
## 2. 容量估算
- 流量:[QPS 计算]
- 存储:[数据大小, 增长]
- 带宽:[网络要求]
## 3. API 设计
[endpoint] - [description]
## 4. 高层架构
[图表]
## 5. 数据库模式
[表和关系]
## 6. 详细设计
### 组件 1
[深入探讨]
### 组件 2
[深入探讨]
## 7. 可扩展性
[如何扩展每个组件]
## 8. 权衡
[决策和替代方案]
参考 system_design/ 中的案例研究:
常见模式:
时间管理:
沟通:
面试官关注点:
system_design/00_template.mdsystem_design/*.mddoc/system_design/每周安装数
68
代码仓库
GitHub 星标数
133
首次出现
2026 年 1 月 23 日
安全审计
安装于
opencode64
gemini-cli63
codex63
github-copilot63
cursor62
cline62
Use this Skill when:
Functional Requirements:
Non-Functional Requirements:
Constraints:
Example Questions:
- How many daily active users?
- What's the read:write ratio?
- What's the average data size?
- What's the peak load vs average load?
- Do we need real-time updates?
- Can we have data loss?
Calculate:
Traffic:
- DAU = 100M users
- Each user makes 10 requests/day
- QPS = 100M * 10 / 86400 ≈ 11,574 QPS
- Peak QPS = 2-3x average ≈ 30,000 QPS
Storage:
- 100M users * 1KB per user = 100GB
- With 3x replication = 300GB
- Growth: 300GB * 365 days = 109.5TB/year
Bandwidth:
- QPS * average request size
- 11,574 * 10KB = 115.74MB/s
Memory/Cache:
Core Components:
Draw Architecture:
[Clients] → [CDN]
↓
[Load Balancer]
↓
[Application Servers]
↙ ↓ ↘
[Cache] [DB] [Queue] → [Workers]
↓
[Object Storage]
SQL vs NoSQL Decision:
Use SQL when:
Use NoSQL when:
Sharding Strategy:
user_id % num_shardsSchema Design:
-- Example: URL Shortener
CREATE TABLE urls (
id BIGSERIAL PRIMARY KEY,
short_url VARCHAR(10) UNIQUE NOT NULL,
long_url TEXT NOT NULL,
user_id BIGINT,
created_at TIMESTAMP DEFAULT NOW(),
expires_at TIMESTAMP,
click_count INT DEFAULT 0,
INDEX (short_url),
INDEX (user_id)
);
Caching Strategy:
Eviction Policies:
Load Balancing:
Message Queue Patterns:
Horizontal Scaling:
Vertical Scaling:
Microservices:
Monolith:
[Single App] → [DB]
Microservices:
[User Service] → [User DB]
[Post Service] → [Post DB]
[Feed Service] → [Feed DB]
Benefits:
Drawbacks:
Replication:
Failover:
Rate Limiting:
Circuit Breaker:
States:
Closed → Normal operation
Open → Reject requests immediately
Half-Open → Test if service recovered
Content Delivery:
Data Consistency:
API Design:
RESTful:
GET /api/users/{id}
POST /api/users
PUT /api/users/{id}
DELETE /api/users/{id}
GraphQL:
query {
user(id: "123") {
name
posts {
title
}
}
}
Use this structure (based on system_design/00_template.md):
# {System Name}
## 1. Requirements
### Functional
- [List core features]
### Non-Functional
- Scale: [Users, QPS, Data]
- Performance: [Latency requirements]
- Availability: [Uptime target]
## 2. Capacity Estimation
- Traffic: [QPS calculations]
- Storage: [Data size, growth]
- Bandwidth: [Network requirements]
## 3. API Design
[endpoint] - [description]
## 4. High-Level Architecture
[Diagram]
## 5. Database Schema
[Tables and relationships]
## 6. Detailed Design
### Component 1
[Deep dive]
### Component 2
[Deep dive]
## 7. Scalability
[How to scale each component]
## 8. Trade-offs
[Decisions and alternatives]
Reference case studies insystem_design/:
Common Patterns:
Time Management:
Communication:
What interviewers look for:
system_design/00_template.mdsystem_design/*.mddoc/system_design/Weekly Installs
68
Repository
GitHub Stars
133
First Seen
Jan 23, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode64
gemini-cli63
codex63
github-copilot63
cursor62
cline62
Kotlin Ktor 服务器模式指南:构建健壮 HTTP API 的架构与最佳实践
1,400 周安装
专业内容创作与SEO优化工具 - 品牌声调分析、博客与社交媒体内容框架
583 周安装
shadcn UI组件库:36个Radix UI + Tailwind CSS预构建组件,无缝集成json-render
594 周安装
SEO基础技能:掌握E-E-A-T、核心网页指标与技术SEO原则,提升网站搜索可见性
588 周安装
学术海报生成器posterskill:从Overleaf论文一键生成交互式会议海报
602 周安装
LangChain教程:使用智能体与RAG构建LLM应用,快速开发AI助手
587 周安装
Spring Boot REST API 标准指南 | 设计模式、错误处理与最佳实践
584 周安装