Spring Cloud(八)使用Zipkin进行分布式链路跟踪
前文回顾:
Spring Cloud(一)Eureka Server-单体及集群搭建
Spring Cloud(二) 配置Eureka Client
Spring Cloud(三) 熔断器Hystrix
Spring Cloud(四) API网关Zuul
Spring Cloud(五) Zuul Filter
Spring Cloud(六) 服务网关GateWay 入门
Spring Cloud(七) GateWay 服务化和过滤器
一.简介
Zipkin 是一个开放源代码分布式的跟踪系统,由Twitter公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现。
每个服务向zipkin报告计时数据,zipkin会根据调用关系通过Zipkin UI生成依赖关系图,显示了多少跟踪请求通过每个服务,该系统让开发者可通过一个 Web 前端轻松的收集和分析数据,例如用户每次请求服务的处理时间等,可方便的监测系统中存在的瓶颈。
Zipkin提供了可插拔数据存储方式:In-Memory、MySql、Cassandra以及Elasticsearch。
二.代码示例
该项目基于之前博客中的Spring Cloud 1-4的项目开发
1.pom中添加依赖
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.6.RELEASE</version><relativePath/></parent><groupId>com.yfy</groupId><artifactId>study07_zkipin</artifactId><version>0.0.1-SNAPSHOT</version><name>study07_zkipin</name><description>Demo project for Spring Boot</description>
<properties><zipkin-version>2.11.8</zipkin-version></properties>
<dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zipkin</artifactId><version>2.0.1.RELEASE</version></dependency><dependency><groupId>io.zipkin.java</groupId><artifactId>zipkin-server</artifactId><version>${zipkin-version}</version></dependency><dependency><groupId>io.zipkin.java</groupId><artifactId>zipkin-autoconfigure-ui</artifactId><version>${zipkin-version}</version></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zipkin</artifactId></dependency><dependency><groupId>io.zipkin.java</groupId><artifactId>zipkin-server</artifactId></dependency><dependency><groupId>io.zipkin.java</groupId><artifactId>zipkin-autoconfigure-ui</artifactId></dependency></dependencies>
2.Application启动类中添加注解
@SpringBootApplication
@EnableZipkinServer
public class Study07ZkipinApplication {
public static void main(String[] args) {SpringApplication.run(Study07ZkipinApplication.class, args);}
}
3.配置文件
server:port: 9411
spring:application:name: zipkin
management:metrics:web:server:#避免访问zipkin页面报java.lang.IllegalArgumentExceptionauto-time-requests: false
4.微服务配置
在spring-cloud-eureka
、 spring-cloud-producer
、spring-cloud-consumer
、gateway-cloud-zuul中配置以下信息:
spring.sleuth.sampler.probability=1.0
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zipkin</artifactId><version>2.0.1.RELEASE</version></dependency>
5.测试
启动spring-cloud-zipkin
访问:http://localhost:9411/zipkin
依次启动
spring-cloud-eureka
、spring-cloud-producer
、spring-cloud-consumer
、gateway-cloud-zuul
访问对应的接口
http://localhost:9002/hello?name=yfy
http://localhost:9002/world
http://localhost:8888/spring-cloud-consumer/hello/231213?token=12321
http://localhost:8888/spring-cloud-producer/hello?name=yfy&token=11
注:若不调用相应接口对应的服务名不会显示到选择框
可以看到依赖关系如下:
Spring Cloud(八)使用Zipkin进行分布式链路跟踪相关推荐
- 跟我学SpringCloud | 第十一篇:使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪
SpringCloud系列教程 | 第十一篇:使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪 Springboot: 2.1.6.RELEASE SpringCloud: ...
- (十二)java版b2b2c社交电商spring cloud分布式微服务:使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪...
Spring Cloud Sleuth Spring cloud b2b2c电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.一般的,一个分布式服务跟踪系统,主要有三部分:数据收集.数据存储和数 ...
- Spring微服务实战第9章 使用Spring Cloud Sleuth和Zipkin进行分布式跟踪
文章目录 第9章 使用Spring Cloud Sleuth和Zipkin进行分布式跟踪 9.1 Spring Cloud Sleuth与关联ID 9.1.1 将Spring Cloud Sleuth ...
- SpringCloud版本Hoxton SR5 --- 第八讲:Sleuth 分布式链路跟踪 整合Zipkin + Elasticsearch持久化
传送门:SpringCloud版本Hoxton SR5 --- 第一讲:认识 先看Sleuth.Zipkin.Elasticsearch 可以完成的功能,或者说他在项目中的定位和作用. Sleuth比 ...
- zipkin使用_Sleuth和Zipkin进行分布式链路跟踪,一点课堂(多岸学院)
一般的,一个分布式服务跟踪系统,主要有三部分:数据收集.数据存储和数据展示.根据系统大小不同,每一部分的结构又有一定变化.譬如,对于大规模分布式系统,数据存储可分为实时数据和全量数据两部分,实时数据用 ...
- SpringCloud技术指南系列(十五)分布式链路跟踪Sleuth与Zipkin实现
SpringCloud技术指南系列(十五)分布式链路跟踪Sleuth与Zipkin实现 一.概述 分布式链路追踪,是一种用于分析和监控应用程序的方法,尤其是那些使用微服务架构的那些应用.分布式链路跟踪 ...
- 原理 | 分布式链路跟踪组件 SOFATracer 和 Zipkin 模型转换
SOFA 中间件是蚂蚁金服自主研发的金融级分布式中间件,包含了构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,动态配置推送,分布式链 ...
- java spring cloud版b2b2c社交电商spring cloud分布式微服务:分布式配置中心
JAVASpring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码请加企鹅求求:一零三八七七四六二六.Spring Cloud Config是Spring Cloud团队创建的一个 ...
- Spring Cloud sleuth with zipkin over RabbitMQ教程
文章目录 Spring Cloud sleuth with zipkin over RabbitMQ demo zipkin server的搭建(基于mysql和rabbitMQ) 客户端环境的依赖 ...
最新文章
- win10 安装xilinx 14.7 之后打开new project 奔溃解决方法
- python中将四元数转换为旋转矩阵
- 测试社交软件有哪些,性格测试:测你适合哪个社交平台
- [Unity] ACT 战斗系统学习 2:从 Buff 系统开始的思考
- ORACLE 11GR2 RAC new features 新特性。
- 最新白白iApp手册开源-iApp源码 非常牛逼
- MATLAB画图线型、颜色、标记符、特殊符号、技巧汇总
- 聚集索引与非聚集索引
- CSDN博客去广告-谷歌插件
- 怎么用计算机进行气象预报,行测言语理解与表达片段阅读:1、中央气象台进行天气预报,先用计算机解出描述天气演变的方程组...
- 《人类染色体与染色体病》学习笔记
- Spring AOP专业术语
- 国产免费倾斜摄影模型在线发布平台,一键查看、编辑、分享场景!
- iOS 四舍六入五成双算法
- 华为云服务-申请基础云服务2
- Shader效果实现:双色渐变
- 导出 excel 表格(纯前端)和下载excel 文件
- 如何登录锐捷设备(路由篇)
- ORA-20005: object statistics are locked (stattype = ALL)
- 非常不错的地区三级联动,js简单易懂。封装起来了(转)