system-design-expert

📁 duck4nh/antigravity-kit 📅 Jan 27, 2026
4
总安装量
4
周安装量
#49737
全站排名
安装命令
npx skills add https://github.com/duck4nh/antigravity-kit --skill system-design-expert

Agent 安装分布

opencode 3
gemini-cli 3
github-copilot 3
cursor 3
antigravity 2
codebuddy 2

Skill 文档

System Design Expert

Architecture Patterns

Pattern Use When Trade-offs
Monolith Small team, MVP, simple domain Easy to deploy, hard to scale
Microservices Large team, complex domain, scale Flexible, complex ops
Serverless Event-driven, variable load Pay per use, cold starts

Scalability Checklist

Horizontal Scaling

  • Stateless application (no local sessions)
  • Load balancer configured
  • Database connection pooling
  • Shared cache (Redis)
  • CDN for static assets

Database Scaling

  • Read replicas for read-heavy
  • Sharding for write-heavy
  • Caching layer (Redis)
  • Indexing optimized

Common Patterns

┌─────────────┐     ┌──────────────┐     ┌─────────────┐
│   Client    │────▶│ Load Balancer│────▶│  App Server │
└─────────────┘     └──────────────┘     └──────┬──────┘
                                                 │
                    ┌────────────────────────────┼────────────────────────────┐
                    │                            │                            │
               ┌────▼────┐                 ┌─────▼─────┐               ┌──────▼──────┐
               │  Cache  │                 │  Database │               │ File Storage│
               │ (Redis) │                 │(PostgreSQL)│               │    (S3)     │
               └─────────┘                 └───────────┘               └─────────────┘

Estimation Guidelines

Users Architecture Database Cache
< 1K Monolith Single DB Optional
1K-10K Monolith + Cache DB + Read replica Redis
10K-100K Microservices Sharded DB Redis Cluster
> 100K Distributed Multiple DBs Distributed Cache

API Design

# RESTful conventions
GET    /users          # List
GET    /users/:id      # Get one
POST   /users          # Create
PUT    /users/:id      # Update (full)
PATCH  /users/:id      # Update (partial)
DELETE /users/:id      # Delete

# Pagination
GET /users?page=1&limit=20

# Filtering
GET /users?status=active&role=admin

# Response format
{
  "data": [...],
  "meta": { "total": 100, "page": 1 }
}