Войти Регистрация
System design

32. Хранилище логов сервисов Wildberries

Средняя

Пройдите шаги: уточните требования, оцените нагрузку, выберите решения, нарисуйте схему.

Сотни сервисов маркетплейса — корзина, оплата, склады, пункты выдачи — пишут логи в JSON: время, сервис, уровень, trace_id, текст.

Для расчёта: в среднем 1 млн строк в секунду, в пик распродажи вдвое больше, средняя строка 500 байт. Горячие логи нужны 14 дней, дальше — дешёвое хранение до 90 дней по требованию безопасности.

Типичный запрос дежурного: «все строки с trace_id = 7f3a… за последний час» или «ошибки сервиса оплаты за 15 минут, сгруппировать по тексту». Ответ нужен за 1–5 секунд.

В работе: Логи открывают первыми, когда у покупателей не проходит оплата или в ПВЗ не находится заказ.

Как проверяем Шаги с вариантами и расчётами проверяем автоматически: число засчитано, если оно в пределах допуска от эталона. Схему вы оцениваете сами по чек-листу. Зачёт — схема набрала 60 % чек-листа и верны 70 % остальных пунктов. Ответ один на подход: после него показываем разбор.
логиколоночное хранилищебуферизациясжатиесрок хранения

Источник: на задачах Wildberries: эксплуатация сервисов маркетплейса. Условие пересказано своими словами.

  1. Уточнить требования — Что выяснить до схемы?
  2. Оценить объёмы
  3. Хранилище — Где хранить горячие логи?
  4. Приём — Как доставлять логи от сервисов до хранилища?
  5. Схема — Опишите путь строки лога от сервиса до экрана дежурного.