分布式链路追踪技术对比

常见开源产品

cat, zipkin, pinpoint , skywalking 

cat 

由大众点评开源,基于Java开发的实时应用监控平台,包括实时应用监控,业务监控 。 集成方案是通过

代码埋点的方式来实现监控,比如: 拦截器,注解,过滤器等。   对代码的侵入性很大,集成成本较高。

风险较大。 

支持技术栈: 

  • dubbo
  • spring mvc ,spring aop ,springmvc-url
  • spring boot
  • mybatis
  • log4j , logback
  • playframework
  • http请求

zipkin

由Twitter团队开源, Zipkin是一个分布式的跟踪系统。它有助于收集数据需要解决潜在的问题在市微服架构的时机。它管理数据的收集和查找 . 

该产品结合spring-cloud-sleuth使用较为简单, 集成很方便。  但是功能较简单。 

支持技术栈: 

  • spring cloud

      以上是结合spring-cloud-sleuth支持的技术栈

pinpoint

由韩国团队naver团队开源,针对大规模分布式系统用链路监控,使用java写的工具。灵感来自短小精悍,帮助分析系统的总

体结构和内部组件如何被调用在分布式应用提供了一个很好的解决方案。

使用java探针字节码增加技术,实现对整个应用的监控 。 对应用零侵入

支持技术栈: 

  • Tomcat 6+, Jetty 8/9, JBoss 6, Resin 4, Websphere 6+, Vertx 3.3+
  • Spring, Spring Boot (Embedded Tomcat, Jetty)
  • HTTP Client 3.x/4.x, HttpConnector, GoogleHttpClient, OkHttpClient, NingAsyncHttpClient
  • Thrift, Dubbo
  • mysql, oracle, mssql, cubrid,PostgreSQL, maria
  • arcus, memcached, redis, cassandra
  • MyBatis
  • DBCP, DBCP2, HIKARICP
  • gson, Jackson, Json Lib
  • log4j, Logback

skywalking 

2015年由个人吴晟(华为开发者)开源 , 2017年加入Apache孵化器。 

针对分布式系统的应用性能监控系统,特别针对微服务、cloud native和容器化(Docker, Kubernetes, Mesos)架构, 其核心是个分布式追踪系统。

使用java探针字节码增加技术,实现对整个应用的监控 。 对应用零侵入

支持技术栈

  • Tomcat7+ , resin3+, jetty
  • spring boot ,spring mvc
  • strtuts2
  • spring RestTemplete  ,spring-cloud-feign
  • okhttp , httpClient
  • msyql ,oracle , H2 , sharding-jdbc,PostgreSQL
  • dubbo,dubbox ,motan, gRpc ,
  • rocketMq , kafla
  • redis, mongoDB,memcached ,
  • elastic-job , Netflix Eureka , Hystric

比较

catzipkinpinpointskywalking 
依赖
  • Java 6,7,8
  • Maven 3.2.3+
  • mysql5.6
  • Linux 2.6以及之上(2.6内核才可以支持epoll)
  • Java 6,7,8
  • Maven3.2+
  • rabbitMQ
  • Java 6,7,8
  • maven3+
  • Hbase0.94+
  • Java 6,7,8
  • maven3.0+
  • nodejs
  • zookeeper
  • elasticsearch
实现方式代码埋点(拦截器,注解,过滤器等)拦截请求,发送(HTTP,mq)数据至zipkin服务java探针,字节码增强java探针,字节码增强
存储选择mysql , hdfsin-memory , mysql , Cassandra , ElasticsearchHBaseelasticsearch , H2
通信方式http , MQthriftGRPC
MQ监控不支持不支持不支持支持(RocketMQ,kafka)
全局调用统计支持不支持支持支持
trace查询不支持支持不支持支持
报警支持不支持支持支持
JVM监控不支持不支持支持支持
star数4.5K7.9K5.6K2.8K
优点功能完善。spring-cloud-sleuth可以很好的集成zipkin , 代码无侵入,集成非常简单 , 社区更加活跃。完全无侵入, 仅需修改启动方式,界面完善,功能细致。

完全无侵入,界面完善,支持应用拓扑图及单个调用链查询。

功能比较完善(zipkin + pinpoint)

缺点
  • 代码侵入性较强,需要埋点
  • 文档比较混乱,文档与发布版本的符合性较低,需要依赖点评私服 (或者需要把他私服上的jar手动下载下来,然后上传到我们的私服上去)。

  • 默认使用的是http请求向zipkin上报信息,耗性能。
  • 跟sleuth结合可以使用rabbitMQ的方式异步来做,增加了复杂度,需要引入rabbitMQ 。

不支持查询单个调用链, 对外表现的是整个应用的调用生态。
  • 3.2版本之前BUG较多 ,网上反映兼容性较差 . 3.2新版本的反映情况较少
  • 依赖较多。
文档网上资料较少,仅官网提供的文档,比较乱文档完善文档完善文档完善
开发者大众点评twitternaver吴晟(华为开发者) ,目前已经加入Apache孵化器
使用公司大众点评, 携程, 陆金所,同程旅游,猎聘网twitternaver华为软件开发云、天源迪科、当当网、京东金融
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值