栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Sleuth

Sleuth

1.Sleuth

Spring Cloud Sleuth为Spring Cloud实现了分布式跟踪解决方案.

其实是一个工具,它在整个分布式系统中能跟踪一个用户请求的过程(包括数据采集,数据传输,数据存储,数

据分析,数据可视化),捕获这些跟踪数据,就能构建微服务的整个调用链的视图,这是调试和监控微服务的关键工具。

服务链路跟踪技术框架

2.Sleuth的术语

Span:基本工作单元,发送一个远程调度任务 就会产生一个Span,Span是一个64位ID唯一标识的,
Trace:用另一个64位ID唯一标识的,Trace还有其他数据信息,比如摘要、时间戳事件、Trace的ID、以及进度ID。

Trace 包含了多个span

一个请求过来,调用服务,一条链路通过Trace Id唯一标识,Span标识发起的请求,各Span通过parent id关联起来。

3.微服务跟踪解决了什么问题?

 微服务跟踪(sleuth)其实是一个工具,它在整个分布式系统中能跟踪一个用户请求的过程(包括数据采集,数据传输,数据存储,数据分析,数据可视化),捕获这些跟踪数据,就能构建微服务的整个调用链的视图,这是调试和监控微服务的关键工具。 SpringCloudSleuth有4个特点

特点说明
提供链路追踪通过sleuth可以很清楚的看出一个请求经过了哪些服务, 可以方便的理清服务的调用关系
性能分析通过sleuth可以很方便的看出每个采集请求的耗时, 分析出哪些服务调用比较耗时,当服务调用的耗时 随着请求量的增大而增大时,也可以对服务的扩容提 供一定的提醒作用
数据分析 优化链路对于频繁地调用一个服务,或者并行地调用等, 可以针对业务做一些优化措施
可视化对于程序未捕获的异常,可以在zipkpin界面上看到
4.Zipkin

Zipkin是一个分布式跟踪系统。它有助于收集解决服务体系结构中的延迟问题所需的时序数据。功能包括该

数据的收集和查找。


Zipkin 是 Twitter 的一个开源项目,它基于 Google Dapper 实现,它致力于收集服务的定时数据,以解决微服

务架构中的延迟问题,包括数据的收集、存储、查找和展现。 我们可以使用它来收集各个服务器上请求链路

的跟踪数据,并通过它提供的 REST API 接口来辅助我们查询跟踪数据以实现对分布式系统的监控程序,从而

及时地发现系统中出现的延迟升高问题并找出系统性能瓶颈的根源。除了面向开发的 API 接口之外,它也提

供了方便的 UI 组件来帮助我们直观的搜索跟踪信息和分析请求链路明细,比如:可以查询某段时间内各用户

请求的处理时间等。 Zipkin 提供了可插拔数据存储方式:In-Memory、MySql、Cassandra 以及 Elasticsearch。

接下来的测试为方便直接采用 In-Memory 方式进行存储,生产推荐 Elasticsearch。

Zipkin 的基础架构,它主要由 4 个核心组件构成:

Collector:收集器组件,它主要用于处理从外部系统发送过来的跟踪信息,将这些信息转换为 Zipkin 内部处

理的 Span 格式,以支持后续的存储、分析、展示等功能。

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

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

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

使用

1.下载

https://search.maven.org/remote_content?g=io.zipkin&a=zipkin-server&v=LATEST&c=exechttps://search.maven.org/remote_content?g=io.zipkin&a=zipkin-server&v=LATEST&c=exechttps://search.maven.org/remote_content?g=io.zipkin&a=zipkin-server&v=LATEST&c=exec

2.启动 在对应的文件下打开cmd窗口,输入命令

java -jar zipkin-server-2.22.2-exec.jar

3.访问

http://127.0.0.1:9411/zipkin/

5.Sleuth应用

在feign应用中添加依赖

       
 
            org.springframework.cloud
            spring-cloud-starter-sleuth
        
​
        
            org.springframework.cloud
            spring-cloud-starter-zipkin
        

2.在配置文件添加

spring.application.name=nacos-customer-feign
spring.cloud.nacos.discovery.server-addr=http://localhost:8848
​
​
server.port=8083
management.endpoints.web.exposure.include=*
##开启哨兵
feign.sentinel.enabled=true
#
##配置哨兵地址
spring.cloud.sentinel.transport.dashboard=localhost:8080
​
​
#配置sleuth
spring.sleuth.sampler.probability=1
spring.zipkin.base-url=http://127.0.0.1:9411
spring.zipkin.sender.type=web
spring.zipkin.service.name=nacos-customer-feign
​
#显示日志
logging.level.root=info
logging.level.org.springframework.web.servlet.DispatcherServlet=debug
logging.level.org.springframework.cloud.sleuth=debug
​
​
​

​

3.测试

访问feign应用的几个方法可以看到

 

 点击show可以查看详细信息

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/581493.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号