VII. Yêu cầu phi chức năng (NFR)#
1. Hiệu năng (Performance)#
| Chỉ số | Mục tiêu | Ghi chú |
|---|---|---|
| Response time (API) | ≤ 500ms (P95) | Cho các API đọc dữ liệu thông thường |
| Response time (API ghi) | ≤ 1000ms (P95) | Cho các API tạo/cập nhật dữ liệu |
| Response time (Dashboard) | ≤ 3000ms (P95) | Cho các truy vấn analytics phức tạp |
| Tải trang đầu tiên | ≤ 3 giây | Trên kết nối 4G (10 Mbps) |
| File upload | ≤ 30 giây | Cho file ≤ 50MB |
| Export Excel | ≤ 5 phút | Cho dataset ≤ 100.000 dòng |
2. Khả dụng (Availability)#
| Chỉ số | Mục tiêu |
|---|---|
| Uptime | ≥ 99.5% (tương đương ≤ 3.65 giờ downtime/tháng) |
| Bảo trì định kỳ | Thông báo trước ≥ 24 giờ, thực hiện ngoài giờ cao điểm (22:00-06:00 GMT+7) |
| Recovery Time Objective (RTO) | ≤ 4 giờ |
| Recovery Point Objective (RPO) | ≤ 1 giờ (tối đa mất dữ liệu 1 giờ) |
3. Khả năng chịu tải (Scalability)#
| Chỉ số | Mục tiêu |
|---|---|
| Concurrent users (Creator) | ≥ 1.000 người dùng đồng thời |
| Concurrent users (Admin) | ≥ 50 admin đồng thời |
| Tổng Creator đã đăng ký | ≥ 100.000 tài khoản |
| Tổng content | ≥ 500.000 bài tham gia |
| Cron job crawl | Xử lý ≥ 10.000 video/lần crawl |
4. Bảo mật (Security)#
| Chỉ số | Mục tiêu |
|---|---|
| Mã hóa truyền tải | TLS 1.2+ cho mọi kết nối |
| Mã hóa lưu trữ | AES-256 cho dữ liệu PII nhạy cảm (CCCD, số tài khoản) |
| JWT expiry | Access token: 24 giờ. Refresh token: 7 ngày |
| Rate limiting | ≤ 100 requests/phút/IP cho API public. ≤ 300 requests/phút/IP cho API admin |
| Brute force protection | Khóa tạm sau 5 lần đăng nhập thất bại liên tiếp (15 phút) |
| Presigned URL TTL | 30 giây cho file download |
| Audit log retention | ≥ 12 tháng |
5. Sao lưu & Phục hồi (Backup & Recovery)#
| Hạng mục | Chính sách |
|---|---|
| Database (MongoDB) | Backup tự động hàng ngày, lưu ≥ 30 ngày |
| File storage (MinIO) | Replicate cross-zone, backup weekly |
| Disaster recovery | Có quy trình phục hồi được kiểm tra định kỳ |
6. Tương thích (Compatibility)#
| Hạng mục | Yêu cầu |
|---|---|
| Trình duyệt (Creator) | Chrome, Safari, Firefox — 2 phiên bản gần nhất |
| Trình duyệt (Admin) | Chrome — 2 phiên bản gần nhất |
| Thiết bị (Creator) | Responsive: mobile ≥ 375px, tablet ≥ 768px, desktop ≥ 1024px |
| Thiết bị (Admin) | Desktop ≥ 1024px |