欢迎关注公众号【sharedCode】致力于主流中间件的源码分析, 个人网站:www.shared-code.com/
精品文章
方案选择
本文最终选择了zipkin+sleuth做二次开发,这样做灵活性比较大一点。 有兴趣的可以进我博客看一下,我会将我二次开发过程当中遇到的问题发出来。
搭建环境
sleuth+zipkin+kafka+elasticsearch搭建分布式链路追踪系统
二次开发方案
sleuth+zipkin+kafka+logstash链路追踪二次开发方案
常见开源产品
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
性能分析
根据其他博客提供的性能测试报告如下
模拟了三种并发用户:500,750,1000。使用jmeter测试,每个线程发送30个请求,设置思考时间为10ms。使用的采样率为1,即100%,这边与生产可能有差别。
pinpoint默认的采样率为20,即50%,通过设置agent的配置文件改为100%。zipkin默认也是1。组合起来,一共有12种。下面看下汇总表:
从上表可以看出,在三种链路监控组件中,skywalking的探针对吞吐量的影响最小,zipkin的吞吐量居中。pinpoint的探针对吞吐量的影响较为明显,
在500并发用户时,测试服务的吞吐量从1385降低到774,影响很大。然后再看下CPU和memory的影响,在内部服务器进行的压测,
对CPU和memory的影响都差不多在10%之内。
比较
由于掘金的富文本编辑的表格有问题,所以特地截了一张图,可以点开放大查看
今天的文章分布式链路追踪技术对比分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/20962.html