skywalking与pinpoint全链路追踪方案对比
由于公司目前有200多微服务,微服务之间的调用关系错综复杂,调用关系人工维护基本不可能实现,需要调研一套全链路追踪方案,初步调研之后选取了skywalking和pinpoint进行对比;
选取skywalking和pinpoint对比的原因是:两者都使用探针(agent)技术进行信息采集,集成到项目内时不用修改业务代码,避免造成后期难以推进的问题;
以下是进行的一些维度的对比,主要从功能性需求和非功能性需求方面做参考:
功能性需求对比
skywalking pinpoint 备注
支持协议
Java, C#, PHP, Node.js
java,php
ui
两种ui相类似,sw服务信息加载速度会快一些
扩展性
都可自定义plugin,使用探针,都可以进行扩展,据说sk扩展性更好
存储
支持各种类型存储,es,mysql,h2等
只支持hbase
警告
config/alarm-settings.xml设置警告规则
需要额外引入mysql发送警告
jvm监控
都包含,pinpoint相对更全面一些,从页面查看比较类似
跟踪粒度
需要使用对应的插件,可以到方法级,展示sql,每个方法调用的时间
服务监控
skywalking支持的维度有:CPU使用率,SLA,RT,CPM(Call Per Minutes)
Pinpoint支持的维度有:CPU使用率,Open File Descriptor,数据源,活动线程数,RT,TPS。
pinpoint更多
过滤追踪
都是用ant风格,sw有对应的插件,更灵活
性能损耗
性能损耗sw少于pinpoint
支持中间件
1.支持开源web容器
2.RPC框架支持更多
3.mq,多支持rocketMQ
4.不支持mssql和mariadb
5.redis支持Jedis,Redisson,Lettuce
1.支持几乎所有web容器,
2.少于sw
4.RDBMS/nosql,好于sw
5.不支持redisson
6.不支持log4j2
公司当前使用的resin
和karaf容器两个是否支持
对代码的侵入性
无侵入
无侵入
非功能性需求对比
skywalking
pinpoint
是否需要修改代码
不需要
不需要
相关文档
官网文档比较全,支持中文,apache支持
英文文档
社区
社区活跃,发起人是中国人
韩国人开发,活跃程度类似
发布方式
使用jar包,start.sh脚本启动
使用war包,依赖web容器
github start 数 9.1k 8.8k
skywalking对国产软件的支持好于Pinpoint;
Pinpoint的优势在于:追踪数据粒度非常细、功能强大的用户界面,以及使用HBase作为存储带来的海量存储能力。
skywalking的优势在于:非常活跃的中文社区,支持多种语言的探针,对国产开源软件非常全面的支持,以及使用es作为底层存储带来的强大的检索能力,并且skywalking的扩展性以及定制化要更优于Pinpoint
从整体上来讲,在进行演示和讨论的时候,大家普遍认为,skywalking的界面比较现代化一些,pinpoint的功能更为强大;
其他一些方面提出的问题,待近期补充:
后边需要继续调研的点:
1.对公司现有技术栈,两种方案的支持情况;
2.扩展性及如何进行扩展,扩展之后可以做哪些内容;
3.采样率如何配置
4.保存时间
5.采样的策略
6.agent开发方法
7.数据是否有遵循标准
8.nginx是否支持
另外,再讨论的过程中,提到了一些问题,
有同事提出是否可以用这个工具定位线上的具体都某一次请求的问题?
答案是否定的,因为全链路追踪的定位是展示整体服务调用的拓扑图,能够从宏观描述服务请求链路中哪个环节比较慢,给开发者提供优化程序的一个方向;
对于性能消耗,大家也有一些不同的看法,有的业务方,对于20%的性能损耗是不敏感的,但是对于当前线上已经负载比较高,且经常有线上问题的系统,还需要性能消耗方面的调研;
————————————————
版权声明:本文为CSDN博主「匆匆z2」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lo085213/article/details/94287469
posted on 2019-08-20 14:23 luzhouxiaoshuai 阅读(1315) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2018-08-20 jquery 李南江老师jquery和ajax视频教程
2017-08-20 栈和队列的面试题Java实现
2017-08-20 java字符串详解