Проектирование системы распределенного логирования | Полный гайд для подготовки к собеседованию
Arpit Vaish
0:00 / 0:00
Проектирование системы распределенного логирования | Полный гайд для подготовки к собеседованию
537 просмотров · 3 месяца назад
Arpit Vaish
289 подписчиков
537 просмотров · 3 месяца назад
Разработка распределенной системы логирования, способной обрабатывать 1 миллион строк логов в секунду и позволяющей осуществлять поиск по ним за 5 секунд.
Большинство инженеров умеют писать логи. Но почти никто не знает, как создать систему, которая собирает, обогащает, хранит и обрабатывает их в больших масштабах. Это видео исправит эту проблему.
Мы рассматриваем:
Функциональные и нефункциональные требования (1 млн строк/сек, поиск менее чем за 5 секунд, хранение данных 30-90 дней)
Полный высокоуровневый дизайн: Log Agent -- Kafka -- Elasticsearch + S3
Конвейер обогащения логов (анализ, обогащение, нормализация)
Горячие/Теплые/Холодные уровни хранения и когда использовать каждый из них
Управление жизненным циклом индексов Elasticsearch (один индекс в день)
Наблюдаемость: как отслеживать вашу систему логирования
3 реальные точки отказа: переполнение диска, обратное давление Kafka, взрыв кардинальности
Как улучшить: адаптивная выборка, корреляция трасс, структурированное логирование в масштабе
Независимо от того, готовитесь ли вы к собеседованию на должность старшего системного проектировщика или внедряете это в производство — это полное справочное руководство.
Разделы:
00:00 Проблема 90-минутного поиска grep
01:15 Функциональные требования
02:19 Математика емкости
02:44 Нефункциональные требования
03:28 Высокоуровневое проектирование
04:03 Подробный анализ — обогащение логов
07:40 Горячие/Теплые/Холодные уровни хранения
08:54 Стратегия индексирования Elasticsearch
09:54 Наблюдаемость и мониторинг конвейера
11:08 Точки отказа
13:18 Как улучшить
15:10 Резюме
#systemdesign #distributedsystems #softwareengineering #elasticsearch #kafka #systemdesigninterview #logging #backend #sde #swe