Архив за Декабрь 2022

System Design. Подготовка к сложному интервью - Глава 4 - Проектирование ограничителя трафика

System Design. Подготовка к сложному интервью - Глава 4 - Проектирование ограничителя трафика

Переводы: EN

Каждое популярное программное обеспечение должно иметь ограничитель трафика. Это предотвращает DDOS-атаку, снижает затраты и предотвращает перегрузку серверов.

Есть несколько каверзных вопросов, которые необходимо учитывать при внедрении ограничителя трафика:

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

Эти вопросы раскрыты в очень интересной главе 4 книги:

System Design. Подготовка к сложному интервью - Глава 3 - Общие принципы прохождения интервью по проектированию ИТ-систем

System Design. Подготовка к сложному интервью - Глава 3 - Общие принципы прохождения интервью по проектированию ИТ-систем

Переводы: EN

Четыре стандартных этапа собеседования по проектированию ИТ-систем. Однако я бы думал о них шире: как о четырех начальных шагах проектирования любого ПО.

  • Шаг 1. Понимание проблемы и определение скоупа проектирования
  • Шаг 2. Предложите дизайн высокого уровня и получите одобрение
  • Шаг 3. Спроектируйте глубокое погружение
  • Шаг 4. Завершение

Глава 3 книги раскрывает подробности о каждом шаге, хорошие вопросы, которые нужно задать (над которыми следует подумать), а также то, что НУЖНО и НЕЛЬЗЯ делать. Она также показывает хороший пример процесса разработки системы новостных лент в соц сетях.