Трейс что это в доставке
Track&Trace. Системы и технологии. Перевозки автотранспортом
Track&Trace переводится на русский язык как «отслеживание пути».
Однако когда мы говорим об этом понятии в транспортной логистике, следует сразу определить, что именно мы собираемся отслеживать.
Системы отслеживания перемещения грузов можно разделить на следующие виды:
В данной статье мы расскажем о стандартных способах Track&Trace для перевозок автомобильным транспортом.
Отслеживание заказов LTL
Разобъем перевозку сборных грузов на следующие этапы:
1) Сбор груза и доставка его до терминала. Грузовладельцы могут выбирать, как именно доставить свой заказ.
В данном случае Track&Trace осуществляется либо через личный кабинет транспортной компании, либо посредством интеграции (особенно если ПО транспортной компании имеет открытый API).
3) Магистральная перевозка между терминалами.
4) Доставка от терминала до клиента. Может осуществляться вашими партнерами в регионе доставки. В данном случае это пример развозки либо FTL-перевозки.
Технические средства для организации Track&Trace в LTL-перевозке:
1) Интеграция с компанией-перевозчиком позволит передавать данные о заказе клиентам в вашем личном кабинете, а не на сайте транспортной компании.
В данном случае также рекомендуется выводить в личном кабинете статусы о выполнения заказа из ваших систем, начиная с регистрации в системе обработки заказа (интернет-магазин, 1С Предприятие, CRM или Order Management System), сбор заказа на складе (интеграция с WMS) и системой контроля оплаты заказа (например, 1С Бухгалтерия).
Кроме того, вы можете дать клиенту возможность сделать в личном кабинете отметку о доставке или сообщить о претензии, прикрепив фотографию испорченного груза. Обратите внимание, чаще всего клиент не будет сообщать о том, что доставка прошла успешно, а вот для оформления жалобы точно зайдет в личный кабинет и вы сможете улучшить свой сервис, в том числе благодаря моментальному реагированию онлайн.
2) Передача данных о доставке от первого терминала и из последнего перевозчику, осуществляющую доставку первой и последней мили соответственно. Вы можете предоставить своим партнерам личные кабинеты, в которых будете передавать данные о заказах, нуждающихся в перевозке.
Отслеживание заказов FTL
Основные способы Track&Trace FTL:
Для перевозчика не составит труда предоставить вам данные о местоположении ТС, однако с вашей стороны потребуется определенная работа, а именно настройка коннекторов с вашей системой.
Хорошая новость заключается в том, что коннекторов придется сделать не так уж и много, ведь на рынке сложился «костяк» основных интеграторов, и ваш перевозчик с вероятностью 99% работает с одним из них.
Дано: расстояния телефона до трех вышек. Найти: расположение телефона. На рисунке видно, отследить телефон можно с некоторыми допущениями.
Очевидно, что в городе точность будет лучше (до 200 метров), чем за городом (несколько километров).
Данный способ отслеживания имеет свои особенности:
3. Мобильное приложение. Многие компании создают мобильные приложения, в которых просят работать водителей своих перевозчиков. Однако данный способ плохо работает для FTL-перевозок.
Основные причины неудач при использовании мобильного приложения для перевозок на большие расстояния:1
1) Мобильный интернет может стоить достаточно дорого для водителя, особенно если вы не готовы оплачивать его затраты на сотовую связь.
2) Дублирование операций. Водитель вынужден оформлять «бумажные» документы, а потом их фотографировать и загружать в мобильное приложение, чтобы подтвердить статус. Вы готовы оплачивать по факту предоставления фотографии в мобильном приложении, а не после получения оригиналов документов? Если нет, то вы просто заставите водителя совершать ненужные ему действия.
3) Очень много грузовладельцев и экспедиторов увлеклись идеей отслеживания по мобильному приложению. В итоге водителю-ИП необходимо иметь на телефоне десятки приложений.
4. Личный кабинет перевозчика. Один из самых простых и удобных для грузовладельца способов. Переложите задачу по Track&Trace на вашего поставщика транспортных услуг. Диспетчер перевозчика держит связь с водителем и проставляет статус перевозки, а вы получаете в вашей системе необходимые данные.
Отслеживание заказов при развозке и milkrun.
В данном случае лучшим решением будет мобильное приложение.
Во-первых, перевозка внутри города/области неплохо просчитывается по возможным затратам на мобильный интернет.
Во-вторых, в развозке бывают срочные задачи, требующие моментального онлайн-реагирования от водителя и диспетчера (клиент не выходит на связь, возник затор и необходимо изменить маршрут и т.п.).
В-третьих, водитель сам заинтересован в использовании мобильного приложения при данном типе перевозок, так как с помощью системы статусов сможет доказать наличие форс-мажор при следовании по маршруту.
Описание статуса отслеживания
Ниже представлено объяснение некоторых распространенных этапов перевозки при отслеживании, возникающих с момента создания накладной и до доставки отправления.
Если ожидается, что ваш груз будет в пути более одного дня между сканированиями для отслеживания, мы будем отображать день и дату Следующего ожидаемого этапа перевозки в разделеХод отправки. Это не означает, что ваше отправление отстает от графика или его доставка остановлена; просто это означает, что на данный момент накладная для отслеживания некоторое время не сканировалась. Мы отображаем Следующий ожидаемый этап перевозки, чтобы вы были уверенны, что мы продолжаем доставку вашего отправления, несмотря на то, что на протяжении некоторого времени сканирование для отслеживания проводиться не будет.
Сканирование прибытия
Таможенное оформление завершено
Проводится таможенное оформление
Доставлено
Отправление доставлено в пункт назначения, дата и время доставки были зафиксированы. В США и Канаде доставки по домашнему адресу, не требующие подписи, могут быть оставлены в безопасном месте вне поля зрения и воздействия погодных условий. Это может включать передний вход, боковую дверь, задний вход или гаражную зону. Если вы дали водителю инструкцию оставить отправление у соседа или в камере хранения, водитель оставит UPS InfoNotice ® по адресу доставки.
Сканирование пункта отправки
Отправление было отправлено из пункта UPS и находится в пути в следующий пункт UPS. Между сканированиями может быть разница в несколько дней, если отправление перемещается через всю страну или между странами.
Сканирование пункта назначения
Груз прибыл в местный пункт UPS, который осуществит доставку получателю.
Передано в UPS Access Point
Хранится в UPS Store ®
Особая ситуация: Требуется действие
Отправление в данный момент находится в сети UPS; однако требуется дополнительная информация об адресе доставки. Отправитель должен предоставить UPS правильную информацию об адресе.
Особая ситуация
Ваш груз в настоящее время находится в сети UPS; однако произошло непредвиденное событие, которое может привести к изменению запланированной даты доставки. При изменении даты доставки статус отслеживания будет обновляться, отображая новую дату доставки.
Сканирование экспорта
Сканирование импорта
В пути
Ваше отправление перемещается в сети UPS, и его доставка предполагается в запланированную дату доставки. Груз может сохранять этот статус до тех пор, пока не будет доставлен. Кроме точных по времени авиаперевозок, в целом, грузы могут быть доставлены в любое время между 9:00 и 19:00 (иногда позже) для частных адресов и в течение рабочего дня для коммерческих адресов. UPS не может запланировать конкретное время доставки в этом промежутке. Будет осуществлено до трех попыток доставки, за исключением выходных и праздничных дней.
В транспортном средстве для доставки/выдано для доставки
Отправление достигло местного пункта UPS, который осуществит доставку, и было передано водителю UPS. Кроме авиадоставки к определенному времени, обычно грузы могут быть доставлены в любое время между 9:00 и 19:00 (иногда позже) для частных адресов и в течение рабочего дня для коммерческих адресов. UPS не может запланировать конкретное время доставки в этом промежутке. Будет осуществлено до трех попыток доставки, за исключением выходных и праздничных дней.
Заказ обработан: В пути в UPS
Ваше отправление обработано отправителем. Ожидаемая дата доставки станет доступной, когда отправление попадет в сеть UPS.
Заказ обработан: Готово для UPS
UPS получила данные и платежную информацию по отправлению от отправителя. В процессе передвижения отправления в сети UPS статус отслеживания будет обновляться.
Сканирование пункта отправки
Возвращено отправителю
Груз был возвращен, и UPS вернула его исходному отправителю.
Возврат отправителю
UPS возвращает этот груз отправителю. Причины могут включать:
Возврат отправителю: Доставляется транспортным средством
Производится возврат отправления, и запланирован его возврат исходному отправителю.
Информация об отправлении аннулирована
Данный номер для отслеживания UPS был аннулирован отправителем, и данное отправление не было передано в UPS. Для получения дополнительной информации обратитесь к отправителю.
Передан для доставки в местную почтовую службу
В соответствии с запросом получателя данное отправление было передано в местную почтовую службу для доставки в конечный пункт назначения. Для доставки может потребоваться один или два дополнительных дня.
Передан для доставки в местную почтовую службу
В соответствии с запросом отправителя данное отправление было передано в местную почтовую службу для доставки в конечный пункт назначения. Для доставки может потребоваться один или два дополнительных дня.
Трейс что это в доставке
Операция приема отправления в стране получателя.
Вся почта, поступающая на территорию Российской Федерации с авиарейсов, начинает путь в авиационном отделении перевозки почты (АОПП) – специальный почтовый склад в аэропорту. С самолета в течение 4–6 часов отправления поступают в АОПП, емкости регистрируются, проверяются их целостность и вес. Почта регистрируется в электронной базе данных. При регистрации сканируется штрих код, вносятся данные о том, куда адресована емкость (например, ММПО «Москва»), с какого она рейса поступила, о стране и дате формирования емкости и т. д. Время этих операций может быть увеличено от 1 до 7х суток из-за ограниченных мощностей АОПП.
Следующая операция после экспорта из страны подачи, которая отражается на сайте при отслеживании отправления – это импорт в страну назначения. Информация об импорте появляется после того, как отправление будет передано перевозчиком почтовому оператору страны назначения. Операция «Импорт» означает, что отправление поступило на территорию России, и было зарегистрировано. Международные отправления поступают в Россию через место международного почтового обмена (ММПО). В России существуют несколько ММПО: в Москве, Новосибирске, Оренбурге, Самаре, Петрозаводске, Санкт-Петербурге, Калининграде, Брянске. Выбор города, куда именно поступит международное отправление зависит от страны отправителя. Выбор зависит от наличия регулярных рейсов и свободных провозных мощностей по тому или иному направлению.
Операция приема отправления в стране получателя.
Вся почта, поступающая на территорию Российской Федерации с авиарейсов, начинает путь в авиационном отделении перевозки почты (АОПП) – специальный почтовый склад в аэропорту. С самолета в течение 4–6 часов отправления поступают в АОПП, емкости регистрируются, проверяются их целостность и вес. Почта регистрируется в электронной базе данных. При регистрации сканируется штрих код, вносятся данные о том, куда адресована емкость (например, ММПО «Москва»), с какого она рейса поступила, о стране и дате формирования емкости и т. д. Время этих операций может быть увеличено от 1 до 7х суток из-за ограниченных мощностей АОПП.
Следующая операция после экспорта из страны подачи, которая отражается на сайте при отслеживании отправления – это импорт в страну назначения. Информация об импорте появляется после того, как отправление будет передано перевозчиком почтовому оператору страны назначения. Операция «Импорт» означает, что отправление поступило на территорию России, и было зарегистрировано. Международные отправления поступают в Россию через место международного почтового обмена (ММПО). В России существуют несколько ММПО: в Москве, Новосибирске, Оренбурге, Самаре, Петрозаводске, Санкт-Петербурге, Калининграде, Брянске. Выбор города, куда именно поступит международное отправление зависит от страны отправителя. Выбор зависит от наличия регулярных рейсов и свободных провозных мощностей по тому или иному направлению.
Присваивается в том случае, если почтовый оператор сообщил, что была осуществлена попытка доставки отправления получателю, но по каким-либо причинам вручение не состоялось. Данный статус не отображает конкретной причины невручения.
Введение в паттерн распределенной трассировки
Когда дело доходит до работоспособности и мониторинга, распределенная архитектура может подкинуть вам пару проблем. Вы можете иметь дело с десятками, если не сотнями микросервисов, каждый из которых мог быть создан разными командами разработчиков.
При работе с крупномасштабной системой очень важно следить за ключевыми показателями этой системы, работоспособностью приложений и достаточным объемом данных, чтобы иметь возможность быстро отслеживать и устранять проблемы. Пребывание в ОБЛАЧНОЙ среде, такой как AWS, Google Cloud, Azure, еще больше усугубляет проблему и затрудняет обнаружение, устранение и локализацию проблем из-за динамического характера инфраструктуры (вертикальное масштабирование, временные машины, динамические IP-адреса и т. д.).
Базис наблюдаемости:
В этой статье я сосредоточусь на двух аспектах наблюдаемости: логах (только сгенерированных приложением) и трейсах.
Использование централизованной системы логирования в распределенной архитектуре, чтобы иметь возможность собирать логи и визуализировать их, стало обычной практикой. Логи, сгенерированные различными микросервисами, будут автоматически отправляться в централизованную базу для хранения и анализа. Вот некоторые из популярных решений централизованных систем логирования для приложений:
Логи предоставляют полезную информацию о событиях, которые произошли в вашем приложении. Это могут быть логи INFO-уровня или логи ошибок с подробными стек трейсами исключений.
Кореляция логов между микросервисами
В большинстве случаев это может быть userId, связанный с запросом, или какой-нибудь уникальный UUID, сгенерированный в первой точке входа в приложение. Эти идентификаторы будут прикреплены к каждому сообщению в логе и будут передаваться последовательно от одного микросервиса к другому в заголовке запроса (в случае, если идентификатор не является частью последовательно обрабатываемого запроса). Так можно легко использовать requestId или userId для запроса к системе логирования, чтобы найти все логи, связанные с запросом в нескольких сервисах.
Рисунок 1. Централизованное логирование.
Ниже приведены несколько примеров того, как пометить (tag) ваши логи необходимой информацией на Java с помощью фильтров запросов (RequestFilter).
Рисунок 2: Конфигурация и образец лога Log4J2
Рисунок 3: Фильтры запросов по UUID или UserId
Трассировка
Путь запроса через распределенную систему.
Задержка запроса при каждой пересылке/вызове (например, от одного сервиса к другому).
Ниже приведен пример трассировки для запроса, взаимодействующего с двумя микросервисами (сервисом-аукционом рекламы и сервисом-интегратором рекламы).
Рисунок 4. Трассировка
В приведенном выше примере данные были захвачены и визуализированы с помощью инструмента DataDog. Есть несколько других способов захвата трейсов, о которых я расскажу в следующем разделе.
Составляющие трейса
Трейс представляет из себя древовидную структуру с родительским трейсом и дочерними спанами. Трейс запроса охватывает несколько сервисов и далее разбивается на более мелкие фрагменты по операциям/функциям, называемые спанами. Например, спан может охватывать вызов от одного микросервиса к другому. В рамках одного микросервиса может быть несколько спанов (в зависимости от того, сколько уровней классов/функций или зависимых микросервисов вызывается для обслуживания запроса).
Трассировка зиждется на создании уникального идентификатора для каждого запроса в точке входа и распространения его на последующие системы в качестве контекста трассировки в заголовках запросов. Это позволяет связать различную трассировочную информацию, исходящую от нескольких служб, в одном месте для анализа и визуализации.
Корреляция логов и трейсов
В итоге мы можем фильтровать логи по userId или другому уникальному идентификатору (например, сгенерированному UUID) и можем отслеживать по трейсам производительность/поведение отдельного запроса. Было бы неплохо, если бы мы могли связать это воедино и иметь возможность сопоставлять логи и трейсы для конкретного запроса!!
Наличие такой корреляции между логами и запросами позволяет:
Сопоставлять метрики производительности напрямую с логами.
Направлять в систему специальный запрос для устранения неполадок.
Выполнять искусственные транзакции с системой в разные моменты времени и иметь возможность сравнивать текущие трейсы с историческими, а также автоматически собирать системные логи связанные с этими запросами.
Реализация распределенной трассировки с помощью корреляции логов и трейсов
ПОДХОД #1: Инструментация с помощью сторонних решений, таких как DATADOG
Datadog по существу берет на себя заботу о централизованном логировании и сборе трассировочной информации. Datadog генерирует уникальные идентификаторы трейсов и автоматически распространяет их на все инструментированные нижестоящие микросервисы. Единственное, что от нас требуется, это связать DD traceId с логами, и мы сможем получим корреляцию логов и трейсов.
Рисунок 6: Инструментация приложения с DataDog
Рисунок 7: Корреляция логов и трейсов в DataDog
ПОДХОД #2: ZIPKINS, CLOUD-SLEUTH СО SPRING BOOT
Полная интеграция в SPRING boot
Простота в использовании
Трейсы можно визуализировать с помощью пользовательского интерфейса Zipkins.
Поддерживает стандарты OpenTracing через внешние библиотеки.
Поддерживает корреляцию логов через контексты Log4j2 MDC.
Нет решения для автоматического сбора логов, связанных с трейсами. Нам придется самостоятельно отправлять логи в ElasticSearch и выполнять поиск, используя идентификаторы трейсов, сгенерированные cloud-sleuth (как заголовок X-B3-TraceId).
Рисунок 8: Zipkins, Cloud Sleuth и Spring Boot.
ПОДХОД #3: AMAZON XRAY
Нативно поддерживает все ресурсы AWS, что очень хорошо, если ваши распределенные сервисы развернуты и работают в AWS
Балансировщики нагрузки AWS автоматически генерируют идентификаторы (REQUEST ID) для каждого входящего запроса, что освобождает приложение от этой заботы. (Ссылка)
Позволяет выполнять трассировку на всем пути от шлюза API до балансировщика нагрузки, сервиса и других зависимых ресурсов AWS.
Реализует корреляцию логов с помощью логов в CLOUDWATCH logs
Cloudwatch log может стать очень дорогими при большом объеме логов
Поддерживает opentracing по умолчанию
Имеет библиотеки, которые работают со Spring
Поддерживает Jager Agent, который можно установить в качестве средства распространения трейсов и логов.
С точки зрения обслуживания и настройки инфраструктуры достаточно сложен.
ЗАКЛЮЧЕНИЕ
Логи и трейсы сами по себе безусловно полезны. Но когда они связаны вместе с помощью корреляции, они становятся мощным инструментом для ускорения устранения проблем в производственной среде и в то же время дают девопсу представление о работоспособности, производительности и поведении распределенных систем. Как вы увидели выше, существует несколько способов реализации этого решения. Выбор за вами 🙂
Перевод статьи подготовлен в преддверии старта курса «Архитектура и шаблоны проектирования». Узнать подробнее о курсе.
Про интернет, роутеры и трейсы
хм. шакалисто вышло, но суть передаёт.
Итак, примерно в 6-7 вечера звонок на саппорт:
— Добрый вечер, слушаю Вас!
— А вот у меня из дома трейс ужасный! 100 и более мсек ответы и постоянные потери пакетов! Да я ваш интернет на оси земной мотал! Я сам одмин крутецкий и всё знаю! Да я сейчас видео снял и на городские форумы выложу, что бы все видели!
— Открывайте сайт и заходите на айпи 192.168.0.1, кое-что проверим.
По шагам довожу абонента до пункта трассировки в веб-морде роутера и запускаем её. Молодой человек видит идеальные показатели.
— Ну что, нормальный трейс с Вашего роутера?
— А вот теперь информаци: я снял это всё на видео и сам выложу на городские форумы. Думаю многим будет интересно. Хорошо?
— Не надо. Я. я понял, потери где-то у меня. Извините пожалуйста, спасибо Вам за информацию, буду разбираться со своим компом. До свидания.
Видео канеш я не снимал, просто маленький блеф 🙂
ну и каким образом ты так спокойно попал на клиентский роутер?
Т.е. видно, как и с какой примерно
скоростьюпроходят данные от сервера до вас.
Она дает поболее информации, можно заодно узнать, какой именно хоп дает потери
Про работу в МегаФоне 3
Так уж получилось, что самые неадекватные в плохом смысле слова обращения приходили в наш кц-мм (мультимедиа, переписка) из Москвы, Питера и, внезапно, Пензы. Если с первыми двумя всё и так ясно, то наличие Пензы в этом топ-3 меня удивило. Но как есть. При этом, мы обслуживали все регионы России.
Начитался я за год работы всякого: угрозы, суды, просьбы, предложения руки и сердца. Среди всего этого можно выделить несколько типов абонентов.
6) Клоуны, шутники, пранкеры.
С этими всегда весело. Пишут редко, но метко. Обычно лютый бред, в чем сами же и сознаются. Превращают даже реальную проблему в цирк.
Пример: это вопросы от одного человека.
— у нас вышка не работает. Пришлите бригаду, на 911 не отвечают.
— приехали миньоны, ничего не сделали, держу в курсе.
— пошел дождь, связи нет. Зовите Фиксиков.
— а можно я сам до вышки схожу?
— а если я попинаю вышку, меня посадят?
— а сколько стоит ремонт вышки? (Тут я чутка напрягся).
— да я просто считаю. А она из меди или алюминия?
— а на дереве так же будет ловить?
(Рекомендация перезагрузить телефон)
— о, заработало, спасибо! А как вы узнали?
— а вы в Хогвартсе учились?
— а можно к вам Фиксиком устроиться?
(Там была ещё куча подобных вопросов, но суть понятна. И прерывать диалог с нашей стороны тоже нельзя, вот и читали всем КЦ).
Итог: есть ещё подкатегории. Но пост и так вышел длинным, не могу я в краткость. Вроде столько интересного хочется рассказать, а получается не очень.
В следующий раз про подписки напишу. Уж больно цепляющая тема для абонентов.