关键词:
导读
微服务架构中,是否遇到过这种情况,服务间调用链过长,导致性能迟迟上不去,不知道哪里出问题了,巴拉巴拉....,回归正题,今天我们使用SpringCloud组件,来分析一下微服务架构中系统调用的瓶颈问题~
SpringCloud链路追踪组件Sleuth实战
官网
主要功能:做日志埋点
什么是Sleuth
专门用于追踪每个请求的完整调用链路。
例如:【order-service,f674cc8202579a50,4727309367e0b514,false】
-
- 第一个值:spring.application.name
- 第二个值,sleuth生成的一个ID,交Trace ID,用来标识一条请求链路,一条请求链路中包含一个Trace ID,多个Span ID
- 第三个值:spanid基本的工作单元,获取元数据,如发送一个http请求
- 第四个值:false,是否要将该信息输出到zipkin服务中来收集和展示
添加依赖
牵扯到的服务都得加这个依赖!(我这里是在order-service、product-service加的依赖)
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId> </dependency>
启动整个微服务测试
部署可视化链路追踪Zipkin
简介
大规模分布式系统的APM工具,基于Google Dapper的基础实现,和Sleuth结合可以提供可视化web界面分析调用链路耗时情况。
官网
部署
这里我使用下载源码的方式
# get the latest source
git clone https://github.com/openzipkin/zipkin
cd zipkin
# Build the server and also make its dependencies
./mvnw -DskipTests --also-make -pl zipkin-server clean install
# Run the server
java -jar ./zipkin-server/target/zipkin-server-*exec.jar
备注
因为种种原因,从github上下载这个源码包,非常慢,可以使用这种方式解决:点我直达
git clone https://gitee.com/mirrors/zipkin.git
cd zipkin
mvn -DskipTests clean package
java -jar ./zipkin-server/target/zipkin-server-*exec.jar
启动
地址:ip:9411
Zpikin+Sleuth整合
添加依赖
涉及到的服务都得加!(我这里是在order-service、product-service加的依赖)
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency>
注意
之前加过Sleuth依赖,现在加zipkin依赖,2.x的zipkin已经包含sleuth了,这里可以把之前的sleuth依赖去掉
修改配置文件
默认指向的zipkin地址为本机地址:http://localhost:9411/
默认收集百分比为:10%
application.properties
# 指定zipkin地址
spring.zipkin.base-url=http://localhost:9411/
# 配置采样百分比,开发环境可以设置:1,也就是100%,生产环境可以设置小一点
spring.sleuth.sampler.probability=1
启动并分析数据
通过这个分析,我们可以知道,微服务中那个服务耗时多,可以在这个服务上做性能优化,可以考虑加:缓存、异步、算法等等~
源码下载
好了,今天先到这,只可意会不可言传,自己体会他的好处~
链接: https://pan.baidu.com/s/1c4ZWufjmDgzgAAiOOzRg9A 密码: or12
springcloud(h版)二阶段学习---分布式请求链路追踪
...环出现高延迟或错误都会引起整个请求最后的失败。 SpringCloudSleuth提供了一套完整的服务跟踪的解决方案。在分布式系统中提供了追踪解决方案并且兼容支持了zipkin 官网 查看详情
sleuth+zipkin实现springcloud链路追踪(代码片段)
文章目录一、前言二、应用架构图三、快速了解Sleuth四、准备工作1、搭建Zipkin单机环境2、搭建naocos单机环境五、微服务整合Sleuth1、创建SpringBoot工程2、配置文件3、实现核心代码六、集成Zipkin1、引入客户端2、配置文件3、运行效... 查看详情
springcloud之链路追踪整合sleuth(十三)
前言SpringCloud是微服务中的翘楚,最佳的落地方案。在一个完整的微服务架构项目中,服务之间的调用是很复杂的,当其中某一个服务出现了问题或者访问超时,很难直接确定是由哪个服务引起的,所以就有了SpringCloudSleuth链路... 查看详情
sleuth+zipkin实现springcloud链路追踪(代码片段)
文章目录一、前言二、应用架构图三、快速了解Sleuth四、准备工作1、搭建Zipkin单机环境2、搭建naocos单机环境五、微服务整合Sleuth1、创建SpringBoot工程2、配置文件3、实现核心代码六、集成Zipkin1、引入客户端2、配置文件3、运行效... 查看详情
springcloud系列之链路追踪
参考技术ASpringCloud系列之EurekaSpringCloud系列之配置中心ConfigSpringCloud系列之gatewaySpringCloud系列之FeignSpringCloud系列之HystrixSpringCloud系列之链路追踪在微服务架构下,一次请求至少经过三四次服务调用完成,多则跨越七八个,那么问... 查看详情
浅议分布式链路追踪与日志的整合(代码片段)
本文内容.NET中的分布式追踪ActivitySource与Activity.NET与OpenTelemetry分布式追踪和日志整合NLog.DiagnosticSource自定义LayoutRenderer本文小结最近拜读了Artech大佬的新文章《几个Caller-特性的妙用》,可以说是受益匪浅。不过,对我而言,最... 查看详情
十八.springcloud极简入门-zipkin整合rabbitmq使用elasticsearch存储的高性能链路追踪方案
前言之前讲过一个版本的Zipkin链路追踪,《Sleuth整合ZipKin链路追踪》,讲了Zipkin的工作流程,以及简单集成Zipkin,这篇文章将会对之前的方案进行升级,使用RabbitMQ异步收集数据,使用ElasticSearch进行数据存... 查看详情
浅议分布式链路追踪与日志的整合(代码片段)
本文内容.NET中的分布式追踪ActivitySource与Activity.NET与OpenTelemetry分布式追踪和日志整合NLog.DiagnosticSource自定义LayoutRenderer本文小结最近拜读了Artech大佬的新文章《几个Caller-特性的妙用》,可以说是受益匪浅。不过,对我而言,最... 查看详情
springcloud分布式整合zipkin的链路跟踪
为什么使用zipkin?上篇主要写了:springcloud分布式日志链路跟踪从上篇中可以看出服务之间的调用,假设现在有十几台服务,那么在查找日志的时候比较繁琐、复杂,而且在查看调用的时候也会像蜘蛛网一样,量太大。这时候zipk... 查看详情
浅谈现公司的springcloud微服务框架
...错误或者质疑,欢迎留言提问,谢谢,祝大家新年快乐。springcloudSpringCloud是将分布式系统中一系列基础框架/工具进行整合的框架。其中包含:服务注册与发现、服务网关、熔断器、配置中心、消息中心、服务链路追踪等等。这... 查看详情
分布式链路追踪在字节跳动的实践
综述字节跳动在发展过程中,逐渐形成了十分复杂的超大规模微服务体系,对后端整体的可观测性解决方案提出了极高的要求。为了解决这个问题,基础架构智能运维团队自研链路追踪系统,将海量Metrics/Trace/Log数据进行整合与... 查看详情
十八.springcloud极简入门-zipkin整合rabbitmq使用elasticsearch存储的高性能链路追踪方案(代码片段)
前言之前讲过一个版本的Zipkin链路追踪,《Sleuth整合ZipKin链路追踪》,讲了Zipkin的工作流程,以及简单集成Zipkin,这篇文章将会对之前的方案进行升级,使用RabbitMQ异步收集数据,使用ElasticSearch进行数据存... 查看详情
springcloud系列微服务的链路追踪(代码片段)
微服务的链路追踪概述1、微服务架构下的问题2、Sleuth概述2.1、Sleuth简介2.2、相关概念2.3、链路追踪Sleuth入门3、Zipkin的概述3.1、ZipkinServer的部署和配置4、客户端Zipkin+Sleuth整合5、基于消息中间件收集数据5.1、RabbitMQ的安装与启... 查看详情
springcloud分布式链路跟踪sleuth+zipkin+elasticsear
...一个具体的实例来体会一把微服务链路追踪:本文使用的SpringCloudFinch 查看详情
springcloud分布式链路跟踪sleuth+zipkin+elasticsear
...一个具体的实例来体会一把微服务链路追踪:本文使用的SpringCloudFinch 查看详情
springcloud-springcloudalibaba之skywalking分布式链路跟踪;跨多服务追踪,集成日志(十五)(代码片段)
一、SkyWalking跨多服务追踪1、关闭防火墙,如果nacos使用MySQL持久化规则,则启动MySQL服务systemctlstopfirewalld2、启动单机版Nacos,浏览器输入http://192.168.133.129:8848/nacos[root@eureka8761~]#cd/opt/software/nacos/bin/[ 查看详情
分布式链路追踪—overview
目录文章目录目录分布式链路追踪OpenTelemetryTracing分布式链路追踪分布式链路追踪最早在Google在2010年发表的论文《Dapper:aLarge-ScaleDistributedSystemsTracingInfrastructure》中提出。主要包含了2个概念:追踪(Trace):从Client发起的RequestX抵... 查看详情
什么是链路追踪?分布式系统如何实现链路追踪?
在分布式系统,尤其是微服务系统中,一次外部请求往往需要内部多个模块,多个中间件,多台机器的相互调用才能完成。在这一系列的调用中,可能有些是串行的,而有些是并行的。在这种情况下,... 查看详情