首页 > 解决方案 > 将来自 Spring Cloud Sleuth 的 TraceId 添加到 API Gateway 过滤器

问题描述

我有一个 API 网关和一个微服务。当从 Api 网关调用微服务时,它们都应该获得相同的 TraceID,但我的微服务有一个全新的 TraceID,我不知道它是在哪里生成的。

API 网关日志

2021-06-22 11:00:13.446 INFO [gateway, 3ad39a60c4ac0e95, 3ad39a60c4ac0e95] 776 [ctor-http-nio-2] c.m.c.u.config.APIRoutes Locator : Routes are

微服务日志

2021-06-22 11:00:34.285 INFO [service1, 2a758b1cb504ca75,62e0509ed861a50f, true] 556 [nio-8000-exec-5] c.m.c.u.service.MasterReport Service: Fetching latest business date

为了解决这个问题,我认为将 api 网关的 TraceID 添加到 HTTP 标头并将此标头添加到自定义 API 网关过滤器并将此过滤器添加到 API 网关将解决问题。但我不确定这是否是解决我的问题的正确方法,即使是,我也不知道该怎么做。任何代码片段或示例都会非常有帮助。

请让我知道我的方法是否正确以及是否存在

标签: spring-bootmicroservicesapi-gatewayspring-cloud-gatewayspring-cloud-sleuth

解决方案


推荐阅读