都源于google的dapper,常见的有三种方式
名称 | 概要 | 优点 | 缺点 |
---|---|---|---|
自己打日志 | 请求进入时生成ID,每次跨节点调用都带上ID,日志也打上ID | 自己实现(这个算不算优点) | 麻烦 |
用开源库,如zipkin | 原理都差不多,都是ID spanID parentID | 简单,client和server都有例子 | 需要集成 |
改分布式框架,如鹰眼,京东改dubbo | 不用侵入业务代码,在框架里做好埋点和日志 | 自己实现 | 稍微麻烦,需要自己改框架 |
运行环境注入 | 例如newrelic,pinpoint,改JVM运行时bytecode | 非侵入 | 性能损耗比较大 |
dapper论文
zipkin
在公司体验了一下,流程和https://yq.aliyun.com/articles/60165?spm=5176.100244.teamconlist.33.wxgYuD
差不多
改造分布式框架
在发远程调用,收到远程调用的时候,框架自身记录下来
实现起来想必不容易,但收益很大
本博客欢迎转发,但请保留原作者信息
github:codejuan
博客地址:http://blog.decbug.com/