分布式追踪系统调研

       一套大型的完整系统由以百计的分布式服务系统组成,每一个请求路由进来,会经过多个业务系统并留下足迹,并产生对各种DB和cache的访问,但是这些分散的系统对于排查问题,或是流程优化都有限。对于这类跨进程的场景,汇总收集并分析海量日志就先到尤为重要。

       要做到追踪每个请求的完整调用链路,收集调用链路上每个服务的性能数据,计算性能数据和对比性能指标(SLA),甚至在更远的未来反馈到服务治理中,那么这就是服务治理的目标。

    业界中,淘宝的鹰眼和twitter的zipkin就是类似的系统,这些系统都起源于Google的dapper.

    整理一下,Google叫Dapper,淘宝叫鹰眼,Twitter叫ZipKin,京东商城叫Hydra,eBay叫Centralized Activity Logging (CAL),大众点评网叫CAT,我们叫Tracing。

    分布式调用链追踪系统通常有几个设计目标:

    1.低入侵性,作为非业务组件,应该尽可能的少的侵入业务系统,对于使用方透明,减少开发人员负担。

    2.灵活的应用策略,可以决定所收集数据的范围和力度。

    3.从数据的收集和产生,到数据计算和处理,再到最终展现,都要尽可能的快。

    4.决策支持,这些数据是否在决策支持方面发挥作用,特别是从DevOps的角度。

    5.可视化才是重中之重。

猜你喜欢

转载自my.oschina.net/u/3126880/blog/1585858