Scale database (3/10): ~100 user — PostgreSQL managed & connection pool
Thiết kế hệ thống ~100 người dùng: tách PostgreSQL managed, connection pool, health check, backup — chuẩn bị scale app sau này.
· 2 min read
Khóa học System Design cơ bản — thiết kế hệ thống scale 1 → 1 triệu user · Phần 3/10▼
Mục lục▼
Mục tiêu phần 3
Quy mô ~100 người dùng: traffic không lớn nhưng bạn cần vận hành an toàn — DB tách khỏi app, backup tự động, connection pool, health check.
Vì sao tách DB khỏi app?
Khi ~100 user, burst traffic và cron backup có thể làm CPU spike trên một máy. Tách DB sang managed service (RDS, Cloud SQL, Neon…):
- Patch/security do nhà cung cấp lo một phần
- Snapshot backup theo lịch
- Scale vertical DB độc lập app
Users → Nginx → App VM (pool 20 conn)
→ Managed PostgreSQL
→ /health + uptime ping
Connection pool
Mỗi request mở connection mới → tốn RAM Postgres (max_connections). App giữ pool (PgBouncer hoặc pool trong driver).
| Tham số | Gợi ý beginner |
|---|---|
| pool_size | 10–30 cho app nhỏ |
| idle timeout | 30s |
| statement timeout | 5–10s cho API |
Health check
- Liveness: process sống → 200
/health - Readiness: app kết nối DB OK → mới nhận traffic (khi có LB sau này)
Backup & restore drill
- Bật daily snapshot.
- Một lần/quý: restore sang instance test → verify row count.
Bài tập
Tính: 100 user, peak 20 concurrent request, mỗi request 2 query 10ms — DB cần mấy core? (gợi ý: so sánh với 1 core ~100 query/s tuỳ query)
Câu hỏi thường gặp
Phần 3 tập trung vào quy mô nào?
Thiết kế hệ thống ~100 người dùng: tách PostgreSQL managed, connection pool, health check, backup — chuẩn bị scale app sau này.
Bài đọc tiếp theo
Thiết kế hệ thống cơ bản (1/10): Học System Design — metric, QPS, CAP
System design là gì? Khóa miễn phí 10 phần: functional/non-functional, QPS, p99, availability, CAP — ước lượng traffic ShortLink scale 1→1M user. Bản đồ: /blog/hoc-system-design-co-ban-tu-dau
Đọc tiếp →Capstone URL shortener (10/10): System Design 1M MAU + rubric
Đề phỏng vấn URL shortener: 20k RPS redirect, 200 write/s, p99 & availability — rubric 100 điểm và đáp án tham khảo.
Đọc tiếp →Monolith System Design (2/10): Scale 1 user — kiến trúc MVP ShortLink
Thiết kế hệ thống giai đoạn MVP: monolith, Nginx, PostgreSQL một server — API URL shortener, schema SQL, sequence redirect, failure mode trước khi scale.
Đọc tiếp →Startup của bạn cần tech partner?
Trao đổi miễn phí về MVP, timeline và mô hình chia lợi nhuận phù hợp.