美文网首页
1. 分布式跟踪定位系统

1. 分布式跟踪定位系统

作者: Shirley_奋进中的虾米 | 来源:发表于2017-06-17 12:46 被阅读97次

    1. 鹰眼

    鹰眼是淘宝的分布式日志跟踪系统,通过收集和分析在不同的网络调用中间件上的日志埋点,可以得到同一次请求上的各个系统的调用链关系,有助于梳理系统间的依赖来源关系、容量规划,也有助于分析系统调用瓶颈、定位异常根源。同时,业务方也可以在调用链上添加自己的业务埋点,使网络调用和实际业务内容得到关联。目前互联网公司类似的产品有:Google Dapper、Twitter Zipkin。

    参考和文档下载:http://download.csdn.net/detail/villa123/7418635。该文档来自JavaOne 2013 大会。

    重点归纳:

    1)埋点和输出日志(怎么埋点,怎么输出,数据怎么透传,要透传哪些数据?)

    中间件埋点,基于ThreadLocal

    异步写,采样

    2)收集和存储日志(怎么采集?怎么存?)

    日志收集agent实时抓日志,按traceid汇总,不同的存储方式

    3)分析调用链

    基于入口的链路分析(分析流量、整体的链路map即调用链关系、调用依赖关系、异常定位)

    实时分析:入口和链路签名

    2. google dapper,大规模分布式系统的跟踪系统

    参考文章:https://bigbully.github.io/Dapper-translation/

    以全局搜索为例,比如出现查询耗时不正常,某一个应用的工程师无法对全局调用关系那么了解,那么定位会无法入手,无从知晓这个问题到底是由哪个服务调用造成的。

    重点归纳:

    1)低侵入,低消耗:跟踪系统对在线服务的影响应该足够小。

    2)应用级别的透明:对应用的程序员来说,是不需要知道有跟踪系统存在的。若一个跟踪系统的生效需要依赖应用的开发者主动配合,那它也太脆弱了。【lib植入到无所不在的公共组件中 & 自适应采样率或配上开关,使跟踪系统变得可伸缩】

    3)延展性:随着服务和集群规模扩大,监控系统都能hold住。持续跟踪,无所不在。

    相关文章

      网友评论

          本文标题:1. 分布式跟踪定位系统

          本文链接:https://www.haomeiwen.com/subject/iogvqxtx.html