这是一个难度很大的问题了,我们曾经尝试过几种场景:
1.如果是ESB架构的,因为每个模块的接口调用都通过ESB总线,所以通过ESB总线的日志可以将全链路串联起来
2.手机充值会经过APP->支付网关->CRM->BOSS 这样一个流程,没有全局流水号,但APP跟支付网关会有唯一订单号,支付网关跟CRM有唯一工单号,也就是说每个环节之间是有唯一标识可以过滤出单笔交易日志,我们通过SPL(可编程搜索语言)实现这种串联分析
3.手机银行->前置->核心 这样一条链路,没有全局流水号,模块之间也没有唯一标记,但每个模块都记录了报文内容,我们通过SPL对报文内容里面的账号,ip,交易类型等字段做相似度分析,将相似度高的报文日志串联起来(简单来说就是把运维人员查找日志的过程通过SPL做自动化操作
以上三种场景都是临时的解决方案,目前看最彻底的解决方案还是dapper那种业务链追踪方案
收起