调用链选型之Zipkin,Pinpoint,SkyWalking,CAT

简介

Zipkin是Twitter开源的调用链分析工具,目前基于springcloud sleuth得到了广泛的使用,特点是轻量,使用部署简单。

Pinpoint是韩国人开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能强大,接入端无代码侵入。

SkyWalking是本土开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能较强,接入端无代码侵入。目前已加入Apache孵化器。

CAT是大众点评开源的基于编码和配置的调用链分析,应用监控分析,日志采集,监控报警等一系列的监控平台工具。

基本原理

类别 Zipkin Pinpoint SkyWalking CAT
实现方式 拦截请求,发送(HTTP,mq)数据至zipkin服务 java探针,字节码增强 java探针,字节码增强 代码埋点(拦截器,注解,过滤器等)

接入

类别 Zipkin Pinpoint SkyWalking CAT
接入方式 基于linkerd或者sleuth方式,引入配置即可 javaagent字节码 javaagent字节码 代码侵入
agent到collector的协议 http,MQ thrift gRPC http/tcp
OpenTracing × ×

分析

类别 Zipkin Pinpoint SkyWalking CAT
颗粒度 接口级 方法级 方法级 代码级
全局调用统计 ×
traceid查询 × ×
报警 ×
JVM监控 × ×

页面UI展示

类别 Zipkin Pinpoint SkyWalking CAT
健壮度 ** ***** **** *****

数据存储

类别 Zipkin Pinpoint SkyWalking CAT
数据存储 ES,mysql,Cassandra,内存 Hbase ES,H2 mysql,hdfs

PinPoint和skyWalking支持的插件对比

类别 Pinpoint SkyWalking
web容器 Tomcat6/7/8,Resin,Jetty,JBoss,Websphere Tomcat7/8/9,Resin,Jetty
JDBC Oracle,mysql Oracle,mysql,Sharding-JDBC
消息中间件 ActiveMQ, RabbitMQ RocketMQ 4.x,Kafka
日志 log4j, Logback log4j,log4j2, Logback
HTTP库 Apache HTTP Client, GoogleHttpClient, OkHttpClient Apache HTTP Client, OkHttpClient,Feign
Spring体系 spring,springboot spring,springboot,eureka,hystrix
RPC框架 Dubbo,Thrift Dubbo,Motan,gRPC,ServiceComb
NOSQL Memcached, Redis, CASSANDRA Memcached, Redis

社区活跃度

截止到2018年5月14日

类别 Zipkin Pinpoint SkyWalking CAT
STAR 8.4k 5.9k 3.3k 4.9k

性能分析

摘自:https://juejin.im/post/5a7a9e0af265da4e914b46f1

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


调用链性能测试对比.png

从上表可以看出,在三种链路监控组件中,skywalking的探针对吞吐量的影响最小,zipkin的吞吐量居中。pinpoint的探针对吞吐量的影响较为明显,在500并发用户时,测试服务的吞吐量从1385降低到774,影响很大。然后再看下CPU和memory的影响,在内部服务器进行的压测,对CPU和memory的影响都差不多在10%之内。

skywalking:https://skywalkingtest.github.io/Agent-Benchmarks/README_zh.html

推荐阅读更多精彩内容

  • 0 问题背景 随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务。互联网应用构建在不...
    七寸知架构阅读 37,864评论 8 90
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 131,249评论 18 138
  • 人生在世,在茫茫人海当中,要遇见自己的真爱,几率渺茫的就像大海捞针,所以,能够得到真爱,是何其珍贵且幸运的事情a二...
    a75d3afbb966阅读 312评论 0 0
  • 摄影:雷平阳 奔跑者:远心 时间:2017年7月24日16:00 地点:鄂尔多斯杭锦旗独贵塔拉镇库布齐沙漠一角
    远心笃行阅读 216评论 0 0
  • (function(a){var json={}; 这个运动框架有以下几个知识点:1、offsetWidth 有局...
    jacklin1992阅读 147评论 0 0
  • 老爸年过半百,心态却无比乐观。鉴于老爸那紧跟潮流的审美,我便挑选了一件夹克作为生日礼物,湖蓝色。意料中的喜欢,却还...
    废宅小鱼儿阅读 164评论 0 1
  • 20年前的今天是我人生的分界线,那之前,是爸爸口中又懒又瘦又近视,就算帮我烧了饼挂在脖子上也会因为不转圈而饿死的小...
    耕云读月阅读 252评论 1 3