我有一个api网关和一个微服务。我已经在我的项目中加入了Spring cloud sleuth,但是我得到了不正确的跟踪I。例如,如果网关调用一个微服务,它们应该具有相同的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我在微服务中得到了一个全新的TraceId,但我不知道它是从哪里来的。
所以现在,我想知道是否有可能将traceID从网关发送到微服务,这样我就可以替换日志中显示的那个……
发布于 2021-07-09 15:53:52
如何联系其他服务?通过http请求?如果是这样的话,尝试在执行template.exchange(...)的类中定义一个RestTemplate bean,它为我解决了这个问题:
// Define this bean in some config class or directly in controller
@Bean
public RestTemplate template() {
return new RestTemplate();
}
// And autowire it in the controller class
@Autowired
private RestTemplate template;
public String call() {
return template.exchange(...);https://stackoverflow.com/questions/68135060
复制相似问题