分布式链路追踪系统Sleuth和ZipKin

1、微服务下的链路追踪讲解和重要性
  简介:讲解什么是分布式链路追踪系统,及使用好处

  进行日志埋点,各微服务追踪。

2、SpringCloud的链路追踪组件Sleuth

  1、官方文档
  http://cloud.spring.io/spring-cloud-static/Finchley.SR1/single/spring-cloud.html#sleuth-adding-project

  2、什么是Sleuth
    一个组件,专门用于记录链路数据的开源组件

    [order-service,96f95a0dd81fe3ab,852ef4cfcdecabf3,false]

    1、第一个值,spring.application.name的值

    2、第二个值,96f95a0dd81fe3ab ,sleuth生成的一个ID,叫Trace ID,用来标识一条请求链路,一条请求链路中包含一个Trace ID,多个Span ID

    3、第三个值,852ef4cfcdecabf3、spanid 基本的工作单元,获取元数据,如发送一个http

    4、第四个值:false,是否要将该信息输出到zipkin服务中来收集和展示。

  3、添加依赖
  <dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-sleuth</artifactId>
  </dependency>

3、可视化链路追踪系统Zipkin部署

  Zipkin的介绍和部署
    1、什么是zipkin
     官网:https://zipkin.io/
     大规模分布式系统的APM工具(Application Performance Management),基于Google Dapper的基础实现,和sleuth结合可以提供可视化web界面分析调用链路耗时情况

    2、同类产品
      鹰眼(EagleEye)
      CAT
      twitter开源zipkin,结合sleuth
      Pinpoint,运用JavaAgent字节码增强技术
      StackDriver Trace (Google)

    3、开始使用
      https://github.com/openzipkin/zipkin
      https://zipkin.io/pages/quickstart.html

      zipkin组成:Collector、Storage、Restful API、Web UI组成

    4、知识拓展:OpenTracing
      OpenTracing 已进入 CNCF,正在为全球的分布式追踪,提供统一的概念和数据标准。
      通过提供平台无关、厂商无关的 API,使得开发人员能够方便的添加(或更换)追踪系统的实现。

    推荐阅读:
    http://blog.daocloud.io/cncf-3/
    https://www.zhihu.com/question/27994350
    https://yq.aliyun.com/articles/514488?utm_content=m_43347

4、高级篇幅之链路追踪组件Zipkin+Sleuth实战((将sleuth输出收集变成可视化))
  使用Zipkin+Sleuth业务分析调用链路分析实战

  1、文档
    http://cloud.spring.io/spring-cloud-static/Finchley.SR1/single/spring-cloud.html#_sleuth_with_zipkin_via_http
    sleuth收集跟踪信息通过http请求发送给zipkin server,zipkinserver进行跟踪信息的存储以及提供Rest API即可,Zipkin UI调用其API接口进行数据展示

    默认存储是内存,可也用mysql、或者elasticsearch等存储

  2、加入依赖
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-zipkin</artifactId>
    </dependency>

    里面包含 spring-cloud-starter-sleuth、spring-cloud-sleuth-zipkin

  3、文档说明:http://cloud.spring.io/spring-cloud-static/Finchley.SR1/single/spring-cloud.html#_features_2

  4、配置zipkin.base-url(若Zipkin部署在其他机器时)

  5、配置采样百分闭spring.sleuth.sampler

  推荐资料:
  https://blog.csdn.net/jrn1012/article/details/77837710

sample 图:从而分析是网络问题还是接口问题

分布式链路追踪系统Sleuth和ZipKin

上一篇:Delphi 与 DirectX 之 DelphiX(65): TDIB.DoBrightness();


下一篇:oracle中获取特定时间的前一天