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

简介Zipkin是Twitter开源的调用链分析工具,目前基于springcloud sleuth得到了广泛的使用,特点是轻量,使用部署简单。Pinpoint是韩国人开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能强大,接入端无代码侵入。SkyWalking是本土开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能较强,接入端无代码侵入。目前已加入Apache孵化器。CAT是大众点评开源的基于编码和配置的调用链分析,应用监控分析,日志采集,监控报警等一系列的监控平台工具。基本原理类别ZipkinPinpointSkyWalkingCAT实现方式拦截请求,发送(HTTP,mq)数据至zipkin服务java探针,字节码增强java探针,字节码增强代码埋点(拦截器,注解,过滤器等)接入类别ZipkinPinpointSkyWalkingCAT接入方式基于linkerd或者sleuth方式,引入配置即可javaagent字节码javaagent字节码代码侵入agent到collector的协议http,MQthriftgRPChttp/tcpOpenTracing√×√×分析类别ZipkinPinpointSkyWalkingCAT颗粒度接口级方法级方法级代码级全局调用统计×√√√traceid查询√×√×报警×√√√JVM监控××√√页面UI展示类别ZipkinPinpointSkyWalkingCAT健壮度****************数据存储类别ZipkinPinpointSkyWalkingCAT数据存储ES,mysql,Cassandra,内存HbaseES,H2mysql,hdfsPinPoint和skyWalking支持的插件对比类别PinpointSkyWalkingweb容器Tomcat6/7/8,Resin,Jetty,JBoss,WebsphereTomcat7/8/9,Resin,JettyJDBCOracle,mysqlOracle,mysql,Sharding-JDBC消息中间件ActiveMQ, RabbitMQRocketMQ 4.x,Kafka日志log4j, Logbacklog4j,log4j2, LogbackHTTP库Apache HTTP Client, GoogleHttpClient, OkHttpClientApache HTTP Client, OkHttpClient,FeignSpring体系spring,springbootspring,springboot,eureka,hystrixRPC框架Dubbo,ThriftDubbo,Motan,gRPC,ServiceCombNOSQLMemcached, Redis, CASSANDRAMemcached, Redis社区活跃度截止到2018年5月14日类别ZipkinPinpointSkyWalkingCATSTAR8.4k5.9k3.3k4.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)

相关推荐

  • 前后端、多语言、跨云部署,全链路追踪到底有多难?

    全链路追踪的价值 链路追踪的价值在于"关联",终端用户.后端应用.云端组件(数据库.消息等)共同构成了链路追踪的轨迹拓扑大图.这张拓扑覆盖的范围越广,链路追踪能够发挥的价值就越大. ...

  • (4条消息) zipkin

    概述 zipkin为分布式链路调用监控系统,聚合各业务系统调用延迟数据,达到链路调用监控跟踪. 在复杂的调用链路中假设存在一条调用链路响应缓慢,如何定位其中延迟高的服务呢? 日志: 通过分析调用链路上 ...

  • pinpoint的安装部署

    一.pinpoint介绍 Pinpoint是一个开源的APM工具,分布式事务跟踪系统的平台,思路基于google Dapper,用于基于java的大规模分布式系统,通过跟踪分布式应用之间的调用来提供解 ...

  • zipkin简介

    文章翻译自英文原文:Distributed Tracing: Design and Architecture 先前的博客公告中讨论过为什么Knewton需要一个分布式追踪系统,并且数值可以被添加到一个 ...

  • SpringCloud微服务架构实战:微服务治理

    微服务治理 Spring Cloud 工具套件为微服务治理提供了全面的技术支持.这些治理工具主要包括服务的注册与发现.负载均衡管理.动态路由.服务降级和故障转移.链路跟踪.服务监控等.微服务治理的主要 ...

  • 别说不会微服务了,五分钟教你巧妙玩转分布式下链路追踪!

    本篇文章我将给大家介绍"分布式链路追踪"的内容,对于目前大部分采用微服务架构的公司来说,分布式链路追踪都是必备的,无论它是传统微服务体系亦或是新一代Service Mesh的微服务 ...

  • 链路追踪(pinpoint)-部署使用

    背景 随着项目微服务的进行,微服务数量逐渐增加,服务间的调用也越来越复杂,我们急切需要一个APM工具帮我们监控各个服务的性能及对服务间的调用进行跟踪,而通过调研多个开源APM工具后,最终我们选择了pi ...

  • 基于 Kubernetes 微服务项目设计与实现

    随着互联网的发展,后端服务和容器编排技术的日益成熟,微服务成为了后端服务的首选,Kubernetes 也已经成为目前容器编排的事实标准, 微服务拥抱容器时代已经来临. 笔者结合自己的经验,写了这篇微服 ...

  • 微服务调用链日志追踪分析

    一.技术原理 1.1 背景 微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元.由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去定位.主要体现在,一个 ...

  • 调用链追踪系统在伴鱼:实践篇

    互联网后端架构 1周前我们介绍了伴鱼在调用链追踪领域的调研工作,本篇继续介绍伴鱼的调用链追踪实践.在正式介绍前,简单交代一下背景:2015 年,在伴鱼服务端起步之时,技术团队就做出统一使用 Go 语言 ...

  • 调用链追踪系统在伴鱼:理论篇

    互联网后端架构 3月11日本文将调用链追踪系统的设计维度归结于以下 5 个:调用链数据模型.元数据结构.因果关系.采样策略以及数据可视化.我们可以把这 5 个维度当作一个分析框架,用它帮助我们在理论上 ...

  • 如何使用Python异步编程进行API调用 | 区块链研究实验室

    原创 链三丰 区块链研究实验室 今天 收录于话题 #Python1 #区块链技术33 #区块链44 #API1 #区块链应用30 本文中,将向大家介绍如何使用Python异步编程,以便您可以更快地进行 ...

  • 一日一技:在Python里面实现链式调用

    原创 kingname 未闻Code 摄影:产品经理 大学路的泰国菜 我们在使用Django的models查询数据库时,可以看到有这种写法: form app.models import XXXque ...

  • ETH:Windows搭建ETH(区块链技术)利用Web端和小程序端两种方式调用ETH上的SC智能合约

    ETH:Windows搭建ETH(区块链技术)利用Web端和小程序端两种方式调用ETH上的SC智能合约 1.Geth安装.配置文件.与ETH节点交互 1.1.下载并安装好geth客户端 并将exe路径 ...

  • 在Python里面实现链式调用,有用

    简说Python 170篇原创内容 公众号 首先需要你的电脑安装好了Python环境,并且安装好了Python开发工具. 如果你还没有安装,可以参考以下文章: 如果仅用Python来处理数据.爬虫.数 ...

  • 你知道拖链怎么安装吗?液压缓冲器选型及拖链!

    你知道拖链怎么安装吗?液压缓冲器选型及拖链!

  • 湖北宣恩推动在职党员干部下基层常态化:四链合一 让小事不出社区

    中国组织人事报发布时间:2021年04月20日作者:通讯员 王慧君 四链合一 按需点单.精准派单,精构服务链 搭建平台,亮明身份,打造先锋链 建章立制,规范管理,夯实责任链 探索积分制从严考评,构筑导 ...