Project: dựng lớp bảo vệ và bảng theo dõi chi phí cho API
Bài trước bạn đã đặt ngân sách và biết cảnh báo ở 50/80/100%. Giờ mình ghép tất cả lại thành một API thật: một endpoint POST /api/chat gọi dịch vụ AI bên thứ ba, có đủ rate limiting, quota, captcha, validate input và một bảng theo dõi chi phí.
Lý do mình bắt bạn làm bài này: tháng 3 năm ngoái mình mở một endpoint chat "cho vui", không giới hạn gì. Sáng hôm sau hoá đơn là $1.240 trong 9 tiếng, gần như toàn bộ đến từ một script đổi IP liên tục, mỗi request đẩy max_tokens lên 4.000. Bài học duy nhất: đặt giới hạn trước khi mở cửa.
Đề bài: một endpoint, sáu lớp chặn, một bảng chi phí
Giả sử giá nhà cung cấp: input $0.50 / 1M tokens, output $1.50 / 1M tokens. Một request trung bình 1.000 input + 500 output tokens:
- Chi phí một request: $0.0005 + $0.00075 = $0.00125
- 10.000 request/ngày = $12.50/ngày ≈ $375/tháng (mức bình thường)
- Bị bot đẩy lên 100.000 request/ngày = $3.750/tháng (mức làm bạn mất ngủ)
Nhiệm vụ của bạn: dựng lớp bảo vệ sao cho con số thứ hai không bao giờ xảy ra, và có một bảng cho biết tiền đang đi đâu mỗi ngày.
Spec: sáu lớp xếp theo thứ tự này
Thứ tự quan trọng hơn bạn tưởng. Rẻ nhất chạy trước.
flowchart TD
Req["📥 Request"] --> V["🧹 Validate input"]
V --> C["🤖 Captcha"]
C --> R["🚦 Rate limit IP + user"]
R --> Q["📊 Quota user"]
Q --> B["💰 Budget check"]
B --> AI["☁️ AI API"]
AI --> L["🧾 Ghi log chi phí"]
| Lớp | Ngưỡng gợi ý | Trả về khi vượt |
|---|---|---|
| Validate input | rỗng, > 4.000 ký tự, sai schema | 400 |
| Captcha | request đầu session, hoặc điểm nghi ngờ bot cao | 403 |
| Rate limit IP | 20 request/phút | 429 |
| Rate limit user | 5 request/phút | 429 |
| Quota user | 50 request/ngày, 200k token/ngày | 402 |
| Ngân sách tổng | $10/ngày, $200/tháng | 503 |
Khung middleware, rút gọn cho dễ đọc:
In this lesson
- Chia việc thành 5 mốc trong 35 phút
- Nghiệm thu: sáu phép thử phải qua
- Đóng lại: bạn vừa có gì trong tay
About this course
Part of Chống lạm dụng API: rate limit, bot và chi phí AI — Đặt giới hạn gọi API, chặn bot cơ bản và kiểm soát chi phí API AI để sản phẩm không bị lạm dụng hay vượt ngân sách.
- Level
- Beginner
- Goal
- Build a project
- Language
- Vietnamese
- Focus
- rate limiting và quota chống bot cơ bản kiểm soát chi phí API AI cảnh báo ngân sách
- Prior knowledge
- Biết viết API đơn giản, Đã từng gọi API bên thứ ba
- Practice
- Exercises + capstone project
- Time
- ~2.5h
- Voice
- một founder từng nhận hóa đơn API trên trời, dạy bằng ví dụ chi phí cụ thể và luôn nhắc 'đặt giới hạn trước khi mở cửa'
- Not covered
- WAF nâng cao, phát hiện gian lận bằng ML, hạ tầng chống DDoS chuyên sâu
This lesson is premium content. Sign in and purchase the course to view the full content. Sign in