pki技术框架学习(软件性能测试中链接追踪工具Zipkin工具的使用)

大家好,今天一起来学习一下在软件性能测试过程中如何使用Zipkin这个工具来追踪链接程序逻辑链路上的相关问题

首先我们了解一下Zipkin是什么?

Zipkin是 Twitter 的一个开源项目,基于 Google Dapper实现。可以使用它来收集各个服务器上请求链路的跟踪数据,并通过它提供的 REST API 接口来辅助我们查询跟踪数据以实现对分布式系统的监控程序,从而及时地发现系统中出现的延迟升高问题并找出系统性能瓶颈的根源。除了面向开发的API接口之外,它也提供了方便的 UI 组件帮助我们直观的搜索跟踪信息和分析请求链路明细,比如:可以查询某段时间内各用户请求的处理时间等。

zipkin主要有四个组件:collector,storage,API,web UI。collector用于收集各服务发送到zipkin的数据,storage用于存储这些链路数据,目前支持Cassandra,ElasticSearch(推荐使用,易于大规模扩展)和MySQL,API用来查找和检索跟踪链,提供给界面UI展示。

Collector:收集器组件,它主要用于处理从外部系统发送过来的跟踪信息,将这些信息转换为Zipkin内部处理的Span格式,以支持后续的存储、分析、展示等功能。

Storage:存储组件,它主要对处理收集器接收到的跟踪信息,默认会将这些信息存储在内存中,我们也可以修改此存储策略,通过使用其他存储组件将跟踪信息存储到 数据库或es 中。

RESTful API:API组件,它主要用来提供外部访问接口。比如给客户端展示跟踪信息,或是外接系统访问以实现监控等。

Web UI:UI组件,基于API组件实现的上层应用。通过UI组件用户可以方便而有直观地查询和分析跟踪信息。

pki技术框架学习(软件性能测试中链接追踪工具Zipkin工具的使用)(1)

zipkin结构与链路追踪原理

链路的追踪原理:跟踪器位于应用程序中,记录发生的操作的时间和元数据,收集的跟踪数据称为Span,将数据发送到Zipkin的仪器化应用程序中的组件称为Reporter,Reporter通过几种传输方式(http,kafka)之一将追踪数据发送到Zipkin收集器(collector),然后将跟踪数据进行存储(storage),由API查询存储以向UI提供数据。

pki技术框架学习(软件性能测试中链接追踪工具Zipkin工具的使用)(2)

链路追踪原理三个微服务调用的链路如下图所示:Service1调用 Service2,Service2调用 Service3和 Service4。那么链路追踪会在每个服务调用的时候加上Trace ID和Span ID。如下图所示:

zipkin每一个调用链路通过一个trace id来串联起来,只要你有一个trace id,就能够直接定位到这次调用链路,并且可以根据服务名、标签、响应时间等进行查询,过滤那些耗时比较长的链路节点。可以根据服务、操作名称、标签、持续时间等属性进行查询。将为您总结一些有趣的数据

pki技术框架学习(软件性能测试中链接追踪工具Zipkin工具的使用)(3)

pki技术框架学习(软件性能测试中链接追踪工具Zipkin工具的使用)(4)

Zipkin UI还提供了一个依赖关系图,显示通过每个应用程序的跟踪请求的数量。这有助于识别聚合行为,包括错误路径或对弃用服务的调用。

pki技术框架学习(软件性能测试中链接追踪工具Zipkin工具的使用)(5)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页