zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    刚装的ESET NOD32无法更新
    借ISA东风,安全发布多个网站
    ASP.NET写入XML访问被拒绝
    ADOBE CS3 序列号
    IEPLUS(IE增强性插件)
    joomla 1.5 笔记
    joomla与drupal内核差异分析
    Drupal修改默认后台地址(D6)
    drupal7指定menu高亮问题
    Drupal6 邮件群发到指定角色
  • 原文地址:https://www.cnblogs.com/kebibuluan/p/11382657.html
Copyright © 2011-2022 走看看