Tầng 3: Giám sát liên tục (synthetic monitoring) ở production
🎯 Mục tiêu học: hiểu vì sao việc test không dừng lại sau khi release — 1 tập nhỏ test case tiếp tục chạy định kỳ nhắm thẳng vào production thật.
Đặc điểm Tầng 3
Sau khi code đã qua Tầng 1 và Tầng 2, được deploy lên production — rủi ro vẫn chưa hết: cấu hình production có thể khác staging, service bên thứ 3 thật có thể khác sandbox (Mục 3.4), hoặc đơn giản là hệ thống có thể gặp sự cố bất kỳ lúc nào sau khi release. Synthetic monitoring giải quyết việc này bằng cách chạy lại 1 tập nhỏ test case (health check) đều đặn, giống hệt cách người dùng thật gọi API.
# Ví dụ: cron job chạy mỗi 5 phút, gọi vài API quan trọng nhất */5 * * * * curl -f https://api.example.com/v1/health */5 * * * * pytest tests/synthetic/critical_flows.py --env=production # Nếu FAIL → cảnh báo ngay cho team trực (on-call), không đợi # người dùng thật báo lỗi trước.
Nguyên tắc chọn test case cho Tầng 3
Chỉ chọn luồng thực sự quan trọng — không chạy lại toàn bộ bộ test, chỉ những luồng nếu hỏng sẽ ảnh hưởng nghiêm trọng tới nghiệp vụ (vd luồng đặt hàng ở Mục 3.1).
Không gây tác động phụ lên dữ liệu thật — test case chạy trên production cần thiết kế cẩn thận (dùng tài khoản test riêng, tự dọn dẹp dữ liệu) để không ảnh hưởng người dùng thật.
Kết nối trực tiếp với cảnh báo (alerting) — chạy mà không ai xem kết quả thì vô nghĩa; phải tự động báo cho đúng người khi fail.
📌 Ghi nhớ
Tầng 1 và 2 trả lời "code có đúng trước khi release không". Tầng 3 trả lời câu hỏi khác: "hệ thống có còn đúng NGAY BÂY GIỜ, sau khi đã release không" — 2 câu hỏi không thể thay thế cho nhau.
📖 Thuật ngữ Anh–Việt (mục này)
Đề thi dùng thuật ngữ tiếng Anh — nhớ đúng cụm bên trái. Bấm 🔊 để nghe từng từ, hoặc "Đọc tất cả" để nghe lần lượt Anh → (vài giây) → Việt.
| Thuật ngữ (EN) | Nghĩa & ghi nhớ nhanh |
|---|---|
| Synthetic monitoring | Giám sát tổng hợp — chạy test tự động định kỳ mô phỏng hành vi người dùng thật trên production |
| Health check | API/endpoint đơn giản dùng để xác nhận hệ thống đang hoạt động bình thường |
| On-call | Đội trực sẵn sàng xử lý sự cố khi có cảnh báo |
📎 Nội dung do maiqai.com biên soạn dựa trên mô hình 3 tầng test phổ biến trong thực hành CI/CD, không sao chép nguyên văn từ nguồn nào.