【发布时间】:2018-04-24 04:26:22
【问题描述】:
我正在使用 grpc-java 并有 3 个服务,A、B 和 C。我调用服务 A,然后服务 A 调用 B 和 C。我在调用 B 和 C 时使用 Hystrix。C 反过来产生另一个线程调用另一个服务。
我有传递 traceId 的 ClientInterceptors 和 ServerInterceptors。只要它是 gRPC 工作线程,我就可以在 Context 和日志中看到 traceId,但是当调用移动到另一个线程(RxIoScheduler 线程或 Hystrix 线程)时会丢失它们。如何在不同线程的请求之间以及不同的执行器服务和线程池之间传递 traceId?
【问题讨论】:
标签: multithreading rx-java grpc hystrix grpc-java