链路追踪--选型/对比/工具/方案/分布式

Posted IT利刃出鞘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链路追踪--选型/对比/工具/方案/分布式相关的知识,希望对你有一定的参考价值。


简介

说明

链路追踪工具一般要有如下功能:

  1. 心跳检测(确定应用是否还在运行)
  2. 记录请求的执行流程、执行时间
  3. 资源监控(CPU、内存、带宽、磁盘)
  4. 告警功能(监控执行时间、成功率等通过邮件、钉钉、短信、微信等进行通知)
  5. 可视化页面

本文主要对比全链路追踪中常使用的Zipkin、Pinpoint、SkyWalking和CAT。

对比(总览)


框架



​Jaeger​



​zipkin​



​Apache skyWalking​



​CAT​



​Pinpoint​



​Elastic​​ APM



Github Star

(2021-09-11)



14.2k+



14.7K+



17.7k+



15.9k+



11.7k+



926+



Github contributors



191



146



313



77



99



53



作者



CNCF、Uber



Apache、Twitter



Apache



美团



NAVER



Elastic



代码侵入性













很低



UI



很差



很差



很好



较差



很好



很差



traceId查询






不支持



支持



不支持



不支持





性能损失


监控报警



无,需结合其它工具实现



无,需结合其它工具实现



支持



支持



支持



支持



存储类型



Memory,

Cassandra,

Elasticsearch,

Kafka



Memory,

Cassandra,

ElasticSearch

and mysql



Memory(H2)、

ElasticSearch,

MySQL、

TiDB、

infulxdb



HDFS



HBase



Elasticsearch



OpenTracing兼容













不完善



颗粒度






接口级



方法级。

(更详细),方法中所有远程调用都展示:如数据库、redis



代码级



方法级。

(更详细)







实现方式






拦截请求,发送(HTTP,mq)数据至zipkin服务



java探针,字节码增强



代码埋点(拦截器,注解,过滤器等)



Java探针,字节码增强






接入方式






基于linkerd或者sleuth方式,引入配置即可



javaagent字节码



代码侵入



javaagent字节码






agent到collector的协议






http,MQ



gRPC



http/tcp



thrift





性能对比

链路追踪--选型/对比/工具/方案/分布式_链路追踪

Pinpoint采集信息太过详细,所以,它对性能的损耗最大。而skywalking默认策略比较保守,对性能损耗很小。


以上是关于链路追踪--选型/对比/工具/方案/分布式的主要内容,如果未能解决你的问题,请参考以下文章

布道微服务_12服务追踪系统选型与常见方案

链路追踪之选型ZipkinPinpointSkyWalkingCAT

专为云原生微服务架构而设计的链路追踪工具 SkyWalking介绍及搭建

布道微服务_12服务追踪系统选型与常见方案

SkyWalking--整合dubbo--使用/教程/实例

APM监控-分布式系统服务跟踪技术选型参考