Есть важная информация, которую нужно сказать по этому предмету. И мне кажется, что вы пытаетесь найти обходной путь для приложений, которые не пересылают / распространяют заголовки в вашем кластере. Поэтому я собираюсь упомянуть несколько проблем, с которыми можно столкнуться с этим решением (на всякий случай).
Как уже упоминалось в ответе Юрия Г. Вы можете настроить уникальные x-request-id
заголовки, но они не будут очень полезны с точки зрения трассировки, если запросы проходят через приложения, которые не распространяют эти x-request-id
заголовки.
Это происходит потому, что при трассировке целых путей запроса должен быть уникальный x-request-id
, хотя и весь его след. Если значение x-request-id
отличается в разных частях пути, по которому идет запрос, как мы собираемся собрать весь путь трассировки?
В сценарии, когда два запроса принимаются в модуле приложения одновременно время, даже если у них были уникальные заголовки x-request-id
, только приложение может определить, какой входящий запрос соответствует какому исходящему соединению. Один из запросов может занять больше времени для обработки, и без перенаправленного заголовка трассы мы не можем сказать, какой из них какой.
В любом случае для приложений, которые поддерживают пересылку / распространение заголовков x-request-id
, я предлагаю следующее руководство из istio документация.
Надеюсь, это поможет.