由于应用系统的日志都是发到mq,以便使用flink进行分析,为了分析应用系统每次请求的调用链路,需求设计算法去梳理这些散落的日志节点,每条日志都带traceId 作为标识一次调用的日志。
如下为一次请求调用的服务和依赖的资源
ServiceA-ServiceB-ServiceC-ServiceD-ServiceE
ServiceA-ServiceB-F(hbase)
ServiceA-H(redis)
•
•flink分析按照traceID 分组每次请求,得到该次请求的全部散列的点集合。
A(parentId:null,NodeId:1),B(parentId: 1,NodeId:2),
C(parentId: 2,NodeId:3), D(parentId: 3,NodeId:4),
E(parentId: 4,NodeId:5),
F(parentId