Создание распределённого сервиса журналирования для микросервисной среды

Логи отправляются асинхронно через локальный агент или буфер в брокер, затем индексируются в поисковом хранилище. Чтение и уведомления отделяются от приёма.

Короткий ответ

Что ответить на собеседовании

Логи отправляются асинхронно через локальный агент или буфер в брокер, затем индексируются в поисковом хранилище. Чтение и уведомления отделяются от приёма.

Подробный разбор

Ответ с пояснениями

Условие

Сформулируйте решение для централизованного сбора и хранения логов в микросервисной архитектуре.

  • Реализуйте отдельный микросервис, который будет принимать и сохранять сообщения журналов от разных компонентов системы.
  • Спроектируйте асинхронный механизм передачи логов от остальных микросервисов в ваш сервис журналирования.
  • Предоставьте API (или иной интерфейс) для просмотра и анализа накопленных записей, включив возможность фильтрации по времени, уровню важности и источнику генерации.
  • Добавьте систему уведомлений, срабатывающую при появлении критических ошибок.

Ответ

Логи отправляются асинхронно через локальный агент или буфер в брокер, затем индексируются в поисковом хранилище. Чтение и уведомления отделяются от приёма.

Формат записи: event_id, timestamp в UTC, service, environment, severity, trace_id и структурированные поля без секретов. Приёмник проверяет размер и схему, а потребители записывают пачки в хранилище с партициями по времени и retention.

API поиска ограничивает временной диапазон, поддерживает фильтры и cursor-пагинацию. Alert-процесс агрегирует критические ошибки по окнам, устраняет дубли и задаёт cooldown. При недоступности центра используют ограниченный дисковый буфер и явную политику сброса низкоприоритетных логов. Нужно измерять потери и задержку доставки; обещать абсолютную сохранность при бесконечной нагрузке нельзя.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее