Сервис извлекает traceparent из входящего запроса, создаёт дочерний span и передаёт контекст следующему сервису. Так участки одного запроса связываются общим trace ID.
Как распределённый контекст трассировки (Distributed Tracing Context Propagation) передаёт заголовки типа traceparent через микросервисы?
Сервис извлекает traceparent из входящего запроса, создаёт дочерний span и передаёт контекст следующему сервису. Так участки одного запроса связываются общим trace ID.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Сервис извлекает traceparent из входящего запроса, создаёт дочерний span и передаёт контекст следующему сервису. Так участки одного запроса связываются общим trace ID.
В traceparent содержатся версия, trace ID, parent ID и flags; это не пользовательский идентификатор и не токен авторизации. При исходящем вызове передаётся ID текущего span как родителя следующего. Для очередей контекст кладут в metadata сообщения и восстанавливают на обработке. Обычно это делает instrumentation OpenTelemetry, но границы нестандартных клиентов проверяют отдельно. Недоверенные заголовки валидируют, а baggage ограничивают: в него нельзя бездумно помещать секреты и персональные данные.
Источник: www.w3.org.