System Design. Подготовка к сложному интервью - Глава 4 - Проектирование ограничителя трафика
Каждое популярное программное обеспечение должно иметь ограничитель трафика. Это предотвращает DDOS-атаку, снижает затраты и предотвращает перегрузку серверов.
Есть несколько каверзных вопросов, которые необходимо учитывать при внедрении ограничителя трафика:
- Где поставить ограничитель трафика: на стороне клиента, на стороне сервера, на шлюзе?
- Алгоритмы ограничения скорости. Есть много алгоритмов со своими плюсами и минусами: Token Bucket, Leaking Bucket, Fixed window counter, Sliding window log, Sliding window counter. Особенности вашего бизнеса определят правильный алгоритм.
- Как создаются правила ограничения трафика?
- Где хранятся правила?
- Как обрабатывать запросы, скорость которых ограничена?
Эти вопросы раскрыты в очень интересной главе 4 книги:







