云原生之全链路分布式跟踪系统 Zipkin和SkyWalking

news2024/11/15 15:42:34

 贪多嚼不烂 Pinpoint 就不对比了 

参考

APM系统简单对比(zipkin,pinpoint和skywalking) · springcloud · 看云

Zipkin和SkyWalking都是流行的分布式跟踪系统,但它们的设计和实现有明显的不同。

以下是它们之间的一些对比:

数据存储:

Zipkin:默认使用内存存储跟踪数据,也可以配置为使用MySQL、Elasticsearch等。

SkyWalking:支持多种存储方式,包括H2内存、MySQL、Elasticsearch、InfluxDB等,并且提供了高可用性设计。

数据分析和查询:

Zipkin:提供了一个简单的界面来查看跟踪信息,但是缺乏复杂查询功能。

SkyWalking:提供了强大的界面和强大的查询功能,可以进行复杂的查询并提供各种指标报表。

扩展性和可用性:

Zipkin:设计为一个轻量级解决方案,没有提供复杂的集群和高可用性设计。

SkyWalking:支持集群部署,并且可以通过集群来保证服务的高可用性。

监控的粒度:

Zipkin:主要关注于服务到服务的调用链和端到端的追踪。

SkyWalking:不仅关注服务间的调用,还可以追踪到每个服务内的中间件、数据库访问等细粒度的行为。

兼容性:

Zipkin:需要与Spring Cloud Sleuth等库配合使用。

SkyWalking:支持Java、.NET、Node.js等多种语言,并且可以与各种框架和库集成。

社区支持和更新频率:

Zipkin:由Twitter维护,更新和支持可能不如SkyWalking频繁。

SkyWalking:由Apache软件基金会维护,更新和支持更为频繁。

选择哪一个取决于你的具体需求。如果你需要一个轻量级的跟踪系统,对扩展和高可用性要求不高,那么Zipkin可能是个不错的选择。如果你需要一个能够提供强大分析和高可用性的系统,并且对监控粒度要求较高,那么SkyWalking可能更适合。

从上表可以看出,在三种链路监控组件中,skywalking的探针对吞吐量的影响最小,zipkin的吞吐量居中。pinpoint的探针对吞吐量的影响较为明显,在500并发用户时,测试服务的吞吐量从1385降低到774,影响很大。然后再看下CPU和memory的影响,在内部服务器进行的压测,对CPU和memory的影响都差不多在10%之内。

二、Zipkin

优点:与spring-cloud项目整合非常方便,而且支持以spring-boot的方式部署zipkin-collector
缺点:功能比较少,而且有代码入侵(jar包和配置项)

三、Pinpoint

优点:功能比较全,UI比较好,而且调用链的跟踪粒度非常细,并且依靠HBase强大的存储能力适合日志量非常庞大的场景
缺点:由于采集信息太过详细所以对性能的损耗最大,并且HBase的维护代价有点大,需要有能力hold住一套HBase集群

四、Skywalking

优点:功能比较全,UI比较好,性能损耗较少,主流中间件和数据库的监控基本都支持
缺点:es强在检索能力但存储能力偏弱

三、Skywalking工作原理

在应用程序中添加 SkyWalking Agent,就可以将接口、服务、数据库、MQ等进行追踪,将追踪结果通过 HTTP 或 gRPC 发送到 OAPServer,经过分析和聚合,将结果存储到 Elasticsearch 或 H2,SkyWalking 同时提供了一个 SkyWalking UI 的可视化界面,UI 以 GraphQL + HTTP 方式获取存储数据进行展示。

配置中心比较Apollo与Nacos_appollo 和 nacos-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2071338.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux与Windows的文件与目录操作API汇总整理

文件和目录操作是编程中非常基础且常用的部分,涉及到文件的创建、读写、删除以及目录的创建、删除等功能。下面是文件和目录操作的汇总整理,包括常见的API及其用途: 文件操作 POSIX 系统(如 Linux 和 macOS) 打开文件…

Python二级知识点

在阅读之前,感谢大家的关注和点赞。祝你们都能心想事成、健健康康。 一.数据流程图 一般这道题是经常考的,有向箭头--->表示数据流。圆圈○表示加工处理。 二.字典如何比较大小 字典类型是如何比较大小的呢,是使用字典的键来比较大小&…

Python 使用everything的相关模块,创建极其快速的文件搜索和管理工具

在这篇博客中,我将分享如何使用 Python 的 everytools库构建一个简单的文件搜索和管理工具。这个工具允许用户搜索文件、查看文件路径、导出文件信息到 Excel,以及生成配置文件。 C:\pythoncode\new\everythingtools.py 项目概述 这个工具的主要功能包…

mysql binlog 全量与增量备份

mysql binlog 全量与增量备份 mysql binlog常用操作 https://blog.csdn.net/xyy1028/article/details/124446625 mysqldump mysqlbinlog 增量备份 mysql的增量备份 https://blog.51cto.com/u_16213572/10976496 mysql全量备份与增量备份 — vip https://blog.51cto.com/hehe1…

Java学习_20_File以及IO流

文章目录 前言一、FileFile中常见的成员方法判断和获取创建和删除获取和遍历 二、IO流IO流体系结构字节流字节输出流:FileOutputStream字节输入流FileInputStrea文件拷贝try……catch异常处理中文乱码现象 字符流字符流读取FileReader字符流输出FileWriter底层原理 …

堆《数据结构》

堆《数据结构》 1. 堆排序1.1 建堆向上调整建堆向下调整建堆 1.2 利用堆删除思想来进行排序1.3Top-k问题 2.堆的时间复杂度 1. 堆排序 1.1 建堆 建大堆 建小堆 向上调整建堆 AdjustUp建堆 void AdjustUp(HPDataType* a, int child) {// 初始条件// 中间过程// 结束条件int p…

专利权和版权有什么区别?

专利权和版权有什么区别?

【IEEE】第四届智能通信与计算国际学术会议(ICICC 2024,10月18-20)

第四届智能通信与计算国际学术会议(ICICC 2024)将于2024年10月18-20日在中国郑州隆重举行。 会议旨在为从事智能通信与计算研究的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和前沿技术,了解学术发展趋势,拓宽研究…

帆软报表,达梦数据库驱动上传失败

1、按照正常操作新建数据库连接,上传准备好的达梦驱动时,提示如图一需要修改SystemConfig.driverUpload为true才可以。 2、FineDB存储了数据决策系统中除平台属性配置以外的所有信息。详情请参见: FineDB 数据库简介。 3、因此管理员可通过…

都2024年了,你还在手动敲SQL吗?试试这款开源免费的AI数据库!

​ ✍️作为一名开发人员,基本上每天都要和数据库打交道,无论是设计表结构、执行查询还是调试应用中的数据问题。长期以来,我一直在使用诸如DBeaver、Navicat和DataGrip这样的数据库管理工具。尽管这些工具各有千秋,但在面对复杂的…

python怎么使用模块中的类

Chain.py是模块(Module),在代码里定义的Class Chain是在模块里定义的类。 一种方法是: from Chain import Chain 还有一种方法是: a Chain.Chain() 相当于从模块里索引出这个类,两种方法都可以。

3b1b自注意力机制讲解记录

本文是对视频【官方双语】直观解释注意力机制,Transformer的核心 | 【深度学习第6章】的整理 1 背景 要解决的问题:接收一段文本,预测下一个词 句子会被切成许多小块,这些小块称为token。token可以是单词也可以是词组。为了简单…

SpringBoot百万行Excel导入MySQL实践

在公司开发时,客户说需要支持大数据量excel导入,所以打算写一篇文章记录下思路和优化过程。 一、前期准备 首先我们选用的肯定是阿里出品的EasyExcel,对比poi和jxl占内存更少 easyexcel官方网站准备测试的数据库和excel文件,已经…

Zustand:让React状态管理更简单、更高效

Zustand 这个单词在德语里是状态的意思(发音:促stand) 1. 下载zustand npm i zustand 或者 yarn add zustand2.创建一个store import { create } from zustandconst useBearStore create((set) > ({bears: 0,increasePopulation: …

20240824给飞凌OK3588-C的核心板刷Ubuntu22.04并连接adb

20240824给飞凌OK3588-C的核心板刷Ubuntu22.04并连接adb 2024/8/24 15:56 缘起,由于我司对面积有极度的追求,所以将飞凌OK3588-C开发板使用的【9线】type-C接口(USB3.1?)降级为4线的USB2.0。 【micro USB/MINI USB。】 先决条件…

基于RK3588的多摄像头车辆与车道线检测系统(基于rk3588的车辆和车道线检测,可以带四个720p的摄像头,2个1080p的摄像头)

硬件配置: 处理器:Rockchip RK3588,这是一款高性能的嵌入式处理器,支持多路高清视频输入和处理。摄像头配置: 4个720p(1280x720)分辨率的摄像头2个1080p(1920x1080)分辨…

什么是持续集成(持续交付、部署)

文章目录 1 持续集成1.1 持续集成的好处1.2 持续集成的目的1.3 没有持续集成的状况 2 持续交付3 持续部署4 持续交付和持续部署的区别 1 持续集成 持续集成(Continuous integration,简称CI),简单来说持续集成就是频繁地&#xff…

拓扑排序,以及区间dp相关试题

目录 1.有向无环图(DAG图) 2.AOV网:顶点活动图 3.拓扑排序 4.实现拓扑排序 力扣.207课程表 牛客.最长回文子序列 1.有向无环图(DAG图) 入度:表示有多少条边指向它 出度:有多少条边向外指出他 2.AOV网:顶点活动图 3.拓扑排序 找到做事情的先后顺序 …

React学习笔记(三)——redux状态管理工具

1. Redux快速上手 1.1 什么是Redux? Redux 是 React 最常用的 集中状态管理工具 ,类似于 Vue 中的 Pinia(Vuex), 可以独立于框架运行 作用: 通过集中管理的方式管理应用的状态 1.2 Redux快速体验 不和任何…

【OpenGL学习笔记】--图像管线

图像管线(Image Pipeline)是计算机图形学中一个核心概念,尤其是在图形处理和渲染的上下文中。它是一个用于处理和渲染图像的流程,其中包括从场景数据的输入到最终图像输出的各个阶段。 图像管线的组成 顶点处理(Verte…