gbling
gbling
目前我们基础架构上已经有实现一套链路追踪的机制,从客户端发起调用的时候就会在请求的Query参数里带上tracerId字段,接到请求的系统都会保存这个值继续传递; 这种方式会比较容易拿到tracerId在日志里查询到从客户端到服务端的整条链路
> @gbling 能否举个例子,确保后面我们的实现不会有偏差。 > > 比如 A->B->C 的场景下,将 A->B 和 B->C 的 URL 举例一下 --------------------------------- 调用链路上关联的系统 client -> bbs -> mall -> trade 客户端发起调用,如下 http://bbs.test.com/v1/forum?tracerId=12345 bbs调用到下一个系统mall:bbs系统从query中获取到tracerId字段的内容,在请求mall系统时候带上,如下 http://mall.test.com/v1/shop?tracerId=12345 mall调用到下一个系统trade:mall系统从query中获取到tracerId字段的内容,在请求trade系统时候带上,如下 http://trade.test.com/v1/order?tracerId=12345 这样在日志搜索的时候就可以通过tracerId字段内容搜到整条链路的请求
@Fancyki1 请问一下,当时测试的时候是在链路开始的时候修改x-request-id即可,还是整条调用链路的每个系统都需要做这个动作? `A(x-request-id修改) --> B --> C` 还是 `A(x-request-id修改) --> B(x-request-id修改) --> C(x-request-id修改)`
@sharang > 目前不支持,如果有此方面的需求,可以说明使用场景和示例,我们看看能否支持。 请问一下这块后续有支持计划吗
@sharang 另外看咱们是有支持wasm plugin的,不晓得用wasm能不能做到将请求query中的 tracerId 字段获取到再放到header中的操作
@Fancyki1 多谢
请问一下低于6.4的版本会有这个问题吗?
@Fancyki1 想再确认一下,HTTP1.1 协议的也会有同样的情况么?
@Fancyki1 是这样的,我们在测试链路追踪的时候通过自定义的 http_log_x_request_id 做链路的关联,内部链路调用都是用 http1.1 ,会存在链路不全的情况;是想再明确一下这个特性是只对 HTTP2/gRPC 生效,还是 http1.1 也会生效的?