分布式追踪系统调研

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

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

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

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

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

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

 2.灵活的应用策略,能够决定所收集数据的范围和力度。进程

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

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

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