#spring #google-cloud-pubsub #spring-cloud-sleuth #mdc
#весна #google-облако-pubsub #spring-cloud-sleuth #mdc
Вопрос:
Я следую архитектуре, основанной на микросервисах, для разработки своего сервиса. Я хочу отслеживать каждый мой запрос с помощью различных вызовов микросервисов в моей системе. Мои микросервисы обмениваются данными через платформу обмена сообщениями Google PubSub. Я не могу найти какой-либо готовый способ передачи контекста MDC для моих последующих вызовов службы. Я использую spring Sleuth для отслеживания. Есть ли какой-нибудь способ, которым я могу передать контекст MDC через вызовы PubSub?
Ответ №1:
Если под «MDC» вы подразумеваете контекст отслеживания, то вы можете, например, использовать Spring Cloud Stream с Google PubSub, который будет работать из коробки. Если вам нужно сделать это вручную, вы можете получить доступ к текущему диапазону из Tracer
компонента, через tracer.currentSpan()
и из него SpanContext
вы можете получить идентификатор трассировки и идентификатор диапазона, которые вы должны передать в сообщение Google PubSub.