美文网首页
42.Zipkin介绍和使用

42.Zipkin介绍和使用

作者: LANSHENGYANG | 来源:发表于2020-06-02 09:19 被阅读0次

Zipkin的集成

Zipkin介绍

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


    image
  • 上图展示了Zipkin的基础架构,它主要由4个核心组件构成:
    • Collector:收集器组件,它主要用于处理从外部系统发送过来的跟踪信息,将这些信息转换为Zipkin内部处理的Span格式,以支持后续的存储,分析,展示等功能。
    • Storage:存储组件,它主要对处理收集器接收到的跟踪信息,默认会将这些信息存储在内存中,我们也可以修改此存储策略,通过使用其他存储组件将跟踪信息存储到数据库中。
    • RESTful API:API组件,它主要用来提供外部访问接口。比如给客户端展示跟踪信息,或是外接系统访问以实现监控等。
    • Web UI:UI组件,基于API组件实现的上层应用。通过UI组件用户可以方便而有直观地查询和分析跟踪信息。
  • Zipkin分为两端,一个是Zipkin服务端,一个是Zipkin客户端,客户端也就是微服务的应用。客户端会配置服务端的URL地址,一旦发生服务间的调用的时候,会被配置在微服务里面的Sleuth的监听器监听,并生成相应的Trace和Span信息发送给服务端。

Zipkin服务端安装

  • 第1步:下载Zipkin的jar包
https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-server&v=LATEST&c=exec
  • 第2步:通过命令行,输入下面的命令启动Zipkin Server
java -jar zipkin-server-2.12.9-exec.jar

Zipkin客户端集成

  • Zipkin客户端和Sleuth的集成非常简单,只需要在微服务中添加其依赖和配置即可。
  • 第1步:在每个微服务上添加依赖
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
  • 第2步:添加配置
spring:
  zipkin:
    base-url: http://192.168.110.130:9411/ #zipkin server的请求地址
    discovery-client-enabled: false #让nacos把它们当成一个URL,而不要当做服务名
  sleuth:
    sampler:
      probability: 1.0 #采样的百分比
  • 第3步:访问微服务
http://localhost:7000/service-order/order/prod/1?age=19&token=admin
  • 第4步:访问zipkin的UI界面,观察效果


    image

相关文章

  • 42.Zipkin介绍和使用

    Zipkin的集成 Zipkin介绍 Zipkin是Twitter的一个开源项目,它基于Google Dapper...

  • Runtime介绍和使用

    说到Runtime, 一直是很多(极少)人的软肋,含含糊糊的认知,被别人问到的时候,此题超纲... 将来跳槽粗去面...

  • OpenSSL 介绍和使用

    一、SSL 简介 按照我的理解来解释下,为了让网络通信更安全,需要认证和加密,认证是说明你是要找的人,加密是为了让...

  • HandlerThread 介绍和使用

    为了避免 ANR,我们常常需要在线程中做耗时操作,然后把结果抛到主线程进行处理。 参考:https://blog....

  • Lombok介绍和使用

    引入使用 官网有简单的安装和使用教程。 IEDA安装介绍 Lombok介绍和优点 https://projectl...

  • ajax介绍和使用

    AJAX ajax 是什么?(异步JavaScript和XML)Asynchronous JavaScript +...

  • Homebrew介绍和使用

    一、Homebrew是什么 Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、...

  • libvirt介绍和使用

    导读: why&&what libvirt具体介绍 API 剖析 driver 剖析 如何使用libvirt? w...

  • git 介绍和使用

    git 是什么? git 是目前世界上最先进的分布式版本控制系统。 git与SVN的主要区别 Git是分布式版本控...

  • OkHttp 介绍和使用

    OkHttp 网络通信层的库 ,Android 4.4后,HttpURLConnection底层实现已被OkHtt...

网友评论

      本文标题:42.Zipkin介绍和使用

      本文链接:https://www.haomeiwen.com/subject/npmyzhtx.html