Luyện Trí Nhớ Bằng Flashcards
Phương pháp lặp lại ngắt quãng (Spaced Repetition) giúp ghi nhớ nhanh các khái niệm kỹ thuật trọng tâm.
Thẻ 1 / 6Nhấn vào thẻ để lật xem đáp án 🔄
Mặt Trước - Câu HỏiHard
Thiết kế hệ thống Rate Limiter cho API quy mô 100k requests/s
💡 Chợt nhớ: Trình bày chiến lược thiết kế API Rate Limiting hỗ trợ distributed systems sử dụ...
Mặt Sau - Đáp Án Tóm TắtSolution
### Kiến trúc khuyến nghị
1. **Distributed Cache Layer**: Sử dụng Redis Cluster phân cụm dựa trên Hash Slot của User/Client ID.
2. **Local Memory Caching**: Kết hợp in-memory cache (Guava/LRU) tại API Gateway level để giảm latency gọi Redis.
3. **Fallback Mechanism**: Nếu Redis cluster gặp sự cố, chuyển sang Mode Degradation (Allow high threshold) để đảm bảo không làm gián đoạn hệ thống (Fail-open).
4. **Response Headers**: Trả về các headers chuẩn RFC:
- X-RateLimit-Limit: 100
- X-RateLimit-Remaining: 0
- X-RateLimit-Reset: 1672531200
Complexity: O(log N) cho mỗi ZADD trong Redis sliding window log