全链路压测的使用场景和基本概念我就不在这里重复,我们今天来重点关注一下做全链路中的几个关键节点的实现原理
如上图,做全链路压测最关键的有三大部分,如下图所示
其中压力机模拟和影子库涉及不少业务改造,在这里不多做介绍,介绍一下流量染色的基本思路
第一步:先设计一下流量染色的基本字段;
traceId:全链路请求的唯一标识,trace 是请求在分布式系统中的整个链路视图,
spanId:传递到服务内部的spanId,一个服务一个spanId;
parentSpanId:和上面的类似,记录了上一次服务的spanId;
这三者的关系可以用这幅图来表示:
X-NSF等下面的6个字段是和NSF agent的交互所用的,主要的目的是安全的与ag