15、jvm-sandbox-repeater 回放时区分录制及回放-2

补充第14章:

1、回放分发时,新生成了一个traceId :TraceGenerator.generate() ,并将之放入之上下文中:RepeatCache.putRepeatContext(context);

2、AbstractRepeater.repeat()方法中的Tracer.start(context.getTraceId());,

从上一步中的RepeatContext中取出traceId,并将此traceId 放入至当前线程的上下文ThreadLocalttlContext中
ThreadLocalttlContext =new TransmittableThreadLocal();


3、回放时对是否回放流量的判断:RepeatCache.isRepeatFlow(Tracer.getTraceId())

Tracer.getTraceId():从当前线程的上下文中取出 traceId ,及上面步骤中的:ThreadLocalttlContext

RepeatCache中也保存有回放流量分发时缓存的traceId:

如果这两个一致,则认为是回放流量,进入是否mock的流程



©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容