借鉴区块链相关溯源原理设计的全链路微服务日志系统。 因为微服务中某个请求所执行的过程并不在一个服务上,造成调试异常复杂。无法追踪。
请求开始
-> 根据请求参数计算请求开始id
请求id
+上一次logId
->本次LogId
请求结束
-> 根据所有的log计算请求结束id
,保证请求及日志的完整性和仿篡改。
请求id
: 可根据请求参数重新计算获取,可以加在headers中传递
或者软传递
上一次logId
: 可根据请求id
获取。
-
某个日志一旦发生异常,可以根据上一次的logId找到上一次的
函数
、执行环境
、参数
、执行结果
,而且支持沙盘复现(注意验证数据的完整性)
,从而快速定位并处理错误。 -
可统计某一台机器中某一个函数或服务具体的执行时间。可推算出网络传输时间。
-
可自定义日志等级,以适应不同级别的需求。
- Proxy代理