notadd / magnus-logger

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

全链路微服务日志系统

借鉴区块链相关溯源原理设计的全链路微服务日志系统。 因为微服务中某个请求所执行的过程并不在一个服务上,造成调试异常复杂。无法追踪。

设计

  1. 请求开始 -> 根据请求参数计算请求开始id
  2. 请求id + 上一次logId -> 本次LogId
  3. 请求结束 -> 根据所有的log计算请求结束id,保证请求及日志的完整性和仿篡改。

日志

  1. 请求id: 可根据请求参数重新计算获取,可以加在headers中传递或者软传递
  2. 上一次logId: 可根据请求id获取。

特点

  1. 某个日志一旦发生异常,可以根据上一次的logId找到上一次的函数执行环境参数执行结果,而且支持沙盘复现(注意验证数据的完整性),从而快速定位并处理错误。

  2. 可统计某一台机器中某一个函数或服务具体的执行时间。可推算出网络传输时间。

  3. 可自定义日志等级,以适应不同级别的需求。

技术

  1. Proxy代理

About


Languages

Language:TypeScript 100.0%