SYSTEM ATLASЗагрузка материала

Контекстные метаданные Baggage

Baggage

Baggage передаёт произвольные пары ключ-значение вместе с распределённым контекстом между сервисами.

Простыми словами

Например, сервисы переносят tenant. id для фильтрации трасс, но не кладут туда email пользователя. Поэтому заранее определяют границы ожидания и поведение при отказе - иначе один медленный компонент начинает удерживать ресурсы и распространять проблему дальше.

Пример от @Vibeclakr

Пример при разработке

Сервисы переносят tenant.id для фильтрации трасс, но не кладут туда email пользователя.

Это редакционный пример применения, а не часть определения или доказательство концепции.

Формальное определение

Baggage передаёт произвольные пары ключ-значение вместе с распределённым контекстом между сервисами.

Механизм действия

Компоненты parse и forward заголовок baggage, а приложения используют выбранные значения для telemetry или routing.

Пример в работе

Нерабочий подход

Внедрить «Контекстные метаданные Baggage» как формальную настройку, не проверив сценарий отказа и ограничение: Данные проходят через многие границы, увеличивают заголовки и могут раскрыть чувствительную информацию.

Системный подход

Применять «Контекстные метаданные Baggage» только для заявленной цели, проверять поведение на реальном контуре и сохранять наблюдаемый критерий результата.

Ограничения

Данные проходят через многие границы, увеличивают заголовки и могут раскрыть чувствительную информацию.

Источник

W3C Distributed Tracing Working Group, “Propagation format for distributed context: Baggage”, 2024.

Первоисточник