Проектирование системы слежения за курьерами

Разделите оперативные координаты и годовую историю. События геопозиции поступают через очередь, обновляют геоиндекс и записываются в партиционированное хранилище маршрутов.

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

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

Разделите оперативные координаты и годовую историю. События геопозиции поступают через очередь, обновляют геоиндекс и записываются в партиционированное хранилище маршрутов.

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

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

Условие

Требуется спроектировать архитектуру сервиса, который будет контролировать передвижения курьеров, учитывая следующие условия.

Функциональные требования:

  • Вывод текущих координат всех курьеров, находящихся в пределах видимой части карты.
  • Получение данных о перемещении курьеров в режиме реального времени.
  • Возможность просмотра полного маршрута конкретного курьера за текущий день.
  • Доступ к истории перемещений за предыдущие дни.

Нефункциональные требования:

  • Сохранять историю перемещений курьеров в течение одного года.
  • Максимальная задержка обновления информации – не более 60 секунд.

Необходимо разработать системную архитектуру, включающую:

  • Хранилище и обработку геоданных.
  • Выбор технологии передачи данных в реальном времени.
  • Механизмы агрегации и долговременного хранения маршрутов.
  • Обеспечение масштабируемости решения и минимизацию задержек.

Ответ

Разделите оперативные координаты и годовую историю. События геопозиции поступают через очередь, обновляют геоиндекс и записываются в партиционированное хранилище маршрутов.

Курьер передаёт координаты, время измерения и порядковый номер. API проверяет доступ, допустимость точки и дубли, после чего событие надёжно сохраняется. Поздняя точка может пополнить историю, но не должна заменить более свежую текущую позицию.

Поиск по видимой области выполняется геоиндексом; для крупных областей возвращаются кластеры. Обновления можно передавать через WebSocket/SSE с подпиской на область, предусмотреть переподключение и получение снимка. Историю разбивайте по времени и курьеру, храните год с автоматическим удалением старых партиций. Бюджет 60 секунд распределите между частотой отправки, очередью и доставкой. Нужны контроль задержки, дедупликация, масштабирование потребителей и ограничение доступа к персональным маршрутам.

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

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

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

Подробнее