第七篇 sleuth + zipkin实现链路监控 (Sleuth)

一、Zipkin简介

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

Spring Cloud构建微服务架构:分布式服务跟踪(整合zipkin)

上图展示了Zipkin的基础架构,它主要有4个核心组件构成:

  • Collector:收集器组件,它主要用于处理从外部系统发送过来的跟踪信息,将这些信息转换为Zipkin内部处理的Span格式,以支持后续的存储、分析、展示等功能。
  • Storage:存储组件,它主要对处理收集器接收到的跟踪信息,默认会将这些信息存储在内存中,我们也可以修改此存储策略,通过使用其他存储组件将跟踪信息存储到 数据库 中。
  • RESTful API:API组件,它主要用来提供外部访问接口。比如给客户端展示跟踪信息,或是外接系统访问以实现监控等。
  • Web UI:UI组件,基于API组件实现的上层应用。通过UI组件用户可以方便而有直观地查询和分析跟踪信息。

 

二、springcloudSleuth整合Zipkin

在 Spring Cloud Sleuth 中对Zipkin的整合进行了 自动化配置 的封装,所以我们可以很轻松的引入和使用它,下面我们来详细介绍一下 Sleuth 与Zipkin的基础整合过程。主要分为两步:

1、搭建Zipkin Server,直接下载jar包运行

curl -sSL https://zipkin.io/quickstart.sh | bash -s
java -jar zipkin.jar

通过http://localhost:9411/ 就可以看到zipkin页面了

2、在springcloud中集成zipkin

引入依赖

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>

 增加application.yml配置

spring:
	zipkin: 
	    base-url: http://172.31.32.14:9411
	    enabled: true
	    locator:
	      discovery:
	        enabled: true

三、调用演示

在各个服务中添加上述内容后,进行调用,可以看到zipkin采集情况

点击可以查看调用详情

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值