Мне интересно как пройти идентификатор корреляции (или же идентификатор запросажрать 6 запросов. Я не нашел ни одного вопроса, который мог бы удовлетворить меня, поэтому я решил создать новый.
Большинство моих микро-сервисов работают на Symfony3 стек. Они общаются друг с другом через HTTP, и я использую Guzzle 6 для этого. Я хотел бы иметь уникальный идентификатор запроса генерируется в точке входа (где запускается сценарий использования — команда или запрос) и передает его в следующие запросы другим службам. Другое приложение также должно получить уже сгенерированный идентификатор запроса в связи с их зависимыми службами и добавить его в следующие запросы (и так далее …). Этот идентификатор запроса будет полезен, например, в журнале событий.
Я думаю о наиболее эффективном способе сделать это. Хотя генерировать уникальный идентификатор и встраивать его в метаданные запроса (например, в заголовки) при обработке в Symfony довольно легко, я не знаю, что делать с клиентами API. Мои мысли до сих пор:
Request
чем жрать (PSR 7 здесь) Я не знаю, если это законно 🙂 Конечно, я могу использовать PSR Http Bridge Symfony для преобразования запросов, но я еще не использовал его, и я боюсь, что это может нарушить совместимость в классах, где HttpFoundation\Request
вводится Однако это решение пока кажется лучшим.Я хотел бы услышать некоторые советы от вас. Как это сделать и легко поддерживать, соблюдая принципы чистой архитектуры и чистого дизайна?
Спасибо за любой ответ.
Задача ещё не решена.
Других решений пока нет …