跨进程传播 Context

来自ling
跳转至: 导航搜索

跨进程传播 Context 上下文信息的核心流程大致为:远程调用的 Client 端会调用 inject(ContextCarrier) 方法,将当前 TracingContext 中记录的 Trace 上下文信息填充到传入的 ContextCarrier 对象。后续 Client 端的插件会将 ContextCarrier 对象序列化成字符串并将其作为附加信息添加到请求中,这样,ContextCarrier 字符串就会和请求一并到达 Server 端。Server 端的入口插件会检查请求中是否携带了 ContextCarrier 字符串,如果存在 ContextCarrier 字符串,就会将其进行反序列化,然后调用 extract() 方法从 ContextCarrier 对象中取出 Context 上下文信息,填充到当前 TracingContext(以及 TraceSegmentRef) 中。

https://kaiwu.lagou.com/course/courseInfo.htm?courseId=50#/detail/pc?id=2033