Нужны структурированные клиентские логи с correlation ID, ограниченный локальный буфер, надёжная выгрузка и серверный поиск по разрешённым полям.
Проектирование системы логов для мобильного приложения
Нужны структурированные клиентские логи с correlation ID, ограниченный локальный буфер, надёжная выгрузка и серверный поиск по разрешённым полям.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Требуется разработать архитектуру логирования для уже существующего мобильного продукта, охватывающего около 100 000 активных пользователей. Приложение предоставляет функции просмотра каталога локаций, навигации по событиям и покупки билетов. Необходимо обеспечить сбор детализированных логов с клиентской части, их запись в хранилище и последующую возможность гибкой фильтрации (по пользователю, городу, событию) и поиска по конкретным обращениям (например, «не удалось оформить билет»).
Ответ
Нужны структурированные клиентские логи с correlation ID, ограниченный локальный буфер, надёжная выгрузка и серверный поиск по разрешённым полям.
Клиент записывает время, версию приложения, уровень, код операции, город/событие и request-id без паролей, токенов или платёжных реквизитов. Для обращения «не оформился билет» связывайте клиентский request-id с серверным trace. Доставка — пакетами со сжатием, повторами и лимитом дискового буфера; сервер принимает идемпотентно и индексирует нужные поля. Доступ к пользовательской диагностике ограничьте ролями и сроком хранения. 100 тысяч пользователей недостаточно для расчёта нагрузки: нужны события на сессию, размер записи, пики и retention.