EagleEye全链路追踪

背景

  当下微服务盛行的阶段,系统之间服务的依赖和复杂性也逐步提高。所以要保证业务的正常运行和团队的SLA,就需要对线上问题的避免和快速定位。这时就体现日志的重要性,问题是日志如何记录,当一个服务被不停调用时,快速定位一个请求就变的很奢侈。包括用户的一次操作,微服务之间有可能进行数百次网络调用,如何定位哪些步骤慢。为了解决这样的问题,阿里的EagleEye出现了。

实现

  • 原理
    前端请求到服务器时,EagleEye通过埋点的方式(Filter机制) 生成一个唯一的traceid,然后将traceid放在RpcContext上下文中,RpcContext 上下文会存储在ThreadLocal中。
    当有异步操作或者RPC调用时,获取当前ThreadLocal的上下文,将上下文中RPCId序号递增,然后将上下文作为下次请求的附件发送。

  • TraceID组成


    TraceID

IP为本地IP对应的十六进制数,顺序号为一个自增的计数器,范围为1000~9999,标志位暂时没有使用。

RpcID

RPCId用链路调用顺序来递增。

阿里云相似产品:Tracing Analysis
效果图:

image.png

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容