Ограничитель трафика
Условие задачи
Спроектировать ограничитель трафика с учётом следующих требований:
- Ограничивает API-запросы (например, REST или gRPC).
- Ограничение в первую очередь по IP, с возможностью расширения (например, по токену, user ID).
- Ожидаемая нагрузка: 1 млн DAU (активных пользователей в день).
- Должен быть устойчив к пиковым нагрузкам.
- Архитектура — распределённая система.
- Минимальная латентность при проверке ограничения.
- Обеспечить отказоустойчивость (fail tolerance).
- При превышении лимита необходимо давать понятную ошибку.
Снизить количество HTTP-запросов на сервис, защитить систему от DDoS и избыточной нагрузки.