全链路跟踪——Zipkin、Pinpoint、SkyWalking、CAT、jaeger(一)

简介

  • Zipkin是Twitter开源的调用链分析工具,目前基于springcloud sleuth得到了广泛的使用,特点是轻量,使用部署简单。
  • Pinpoint是韩国人开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能强大,接入端无代码侵入。
  • skywalking是一款国产开源框架,为分布式系统的应用程序性能监控工具,特别为微服务、云原生和基于容器(Kubernetes)架构而设计,基于OpenTracing规范、开源的AMP系统。Skywalking提供分布式跟踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。支持Java, .Net Core, PHP, NodeJS, Golang, LUA语言探针。
  • CAT(Central Application Tracking)是大众点评开源的基于编码和配置的调用链分析,应用监控分析,日志采集,监控报警等一系列的监控平台工具。
  • jaeger 受到Dapper和OpenZipkin的启发,是由Uber Technologies创建 并捐赠给Cloud Native Computing Foundation的分布式追踪平台。

对比

项目 Zipkin Pinpoint Skywalking CAT jaeger
实现方式 拦截请求 Java探针,
字节码增强
Java探针,
字节码增强
代码埋点 拦截请求
支持语言 Java Java Java/C/C++/Go/Nginx等 Java/C/C++/Go/Node.js Go
接入方式 基于linkerd或者sleuth方式,
引入配置即可
javaagent字节码 javaagent字节码 代码侵入 拦截/侵入
agent到collector的协议 http,MQ thrift gRPC http/tcp udp/http
OpenTracing × ×
颗粒度 接口级 方法级 方法级 代码级 接口级
全局调用统计 × ×
traceid查询 × ×
报警 × ×
JVM监控 × × ×
数据存储 ES/mysql/Cassandra/内存 Hbase ES/H2/PG/MySQL mysql,hdfs ES/kafka/Cassandra,内存
STAR 16.3k 12.9k 22.2k 18k 18.1k

性能

模拟了三种并发用户:500,750,1000。使用jmeter测试,每个线程发送30个请求,设置思考时间为10ms。使用的采样率为1,即100%,这边与生产可能有差别。pinpoint默认的采样率为20,即50%,通过设置agent的配置文件改为100%。zipkin默认也是1。组合起来,一共有12种。下面看下汇总表:

全链路跟踪——Zipkin、Pinpoint、SkyWalking、CAT、jaeger(一)_第1张图片
从上表可以看出,在三种链路监控组件中,skywalking的探针对吞吐量的影响最小,zipkin的吞吐量居中。pinpoint的探针对吞吐量的影响较为明显,在500并发用户时,测试服务的吞吐量从1385降低到774,影响很大。然后再看下CPU和memory的影响,在内部服务器进行的压测,对CPU和memory的影响都差不多在10%之内。

转载:
https://blog.csdn.net/A123638/article/details/123117142
https://juejin.im/post/5a7a9e0af265da4e914b46f1

你可能感兴趣的:(全链路跟踪,skywalking)