Spring Cloud Sleuth + zipkin + kafka
2.2.5.RELEASE
1 说明
Spring Cloud Sleuth 是Spring Cloud的分布式链路追踪实现。
1.1 术语
Spring Cloud Sleuth采用的是Google的开源项目Dapper的专业术语。
Span:基本工作单元。比如发送一个远程调度任务 就会产生一个Span,Span是一个64位ID唯一标识的,是用另一个64位ID唯一标识的Trace的一部分。Span还有其他数据信息,比如摘要、时间戳事件、键值对注解、 Span的ID、以及进度ID(通常是ip)。
当你开始一个span的时候,必须手动结束。
初始的span叫做
root span
,会开始一个trace。此时span的id和trace的id是一样的
race:一系列Span组成的一个树状结构。请求一个微服务系统的API接口,这个API接口,需要调用多个微服务,调用每个微服务都会产生一个新的Span,所有由这个请求产生的Span组成了这个Trace。
Annotation:用来及时记录一个事件的,一些核心注解用来定义一个请求的开始和结束 。这些注解包括以下:
- cs - Client Sent -客户端发送一个请求,这个注解描述了这个Span的开始
- sr - Server Received -服务端获得请求并准备开始处理它,如果将其sr减去cs时间戳便可得到网络传输的时间。
- ss - Server Sent (服务端发送响应)–该注解表明请求处理的完成(当请求返回客户端),如果ss的时间戳减去sr时间戳,就可以得到服务器请求的时间。
- cr - Client Received (客户端接收响应)-此时Span的结束,如果cr的时间戳减去cs时间戳便可以得到整个请求所消耗的时间。
span父子关系图:
1.2 界面效果
下面的章节也是根据上面的例子
1.2.1 Zipkin
在zipkin中看上面的调用链路
选择其中的一个链路
> 选择一个链路后,相关的cs、sr、ss、cr span会合并。
1.2.2 错误可视化
通过zipkin,可以直接看到链路中的错误,红色表示链路中有异常。
点击其中一条链路,出现如下画面:
点击其中的span:
可以看到具体的异常信息
1.3 集成Sleuth + kafka
依赖
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zipkin</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-stream-binder-kafka</artifactId></dependency><dependency>
配置
application.yml
spring:zipkin:sender:type: kafkacloud:stream:binders:zipkin:type: kafka # 当项目同时使用kafka和rabbit时,需要指定kafka:bootstrap-servers:- 192.168.1.36:9092- 192.168.1.33:9092- 192.168.1.47:9092
https://docs.spring.io/spring-cloud-sleuth/docs/2.2.5.RELEASE/reference/html/#purpose
Spring Cloud Sleuth + zipkin + kafka相关推荐
- Spring Cloud Sleuth + Zipkin 监控微服务(一)
在之前搭建的服务注册中心的基础上,结合Spring Cloud Sleuth + Zipkin 监控微服务. 1.Zipkin server 从https://dl.bintray.com/openz ...
- SpringCloud 2020版本教程4:使用spring cloud sleuth+zipkin实现链路追踪
点击关注公众号,Java干货及时送达 Spring Cloud Sleuth 主要功能就是在分布式系统中提供追踪解决方案,并且兼容支持了 zipkin,你只需要在pom文件中引入相应的依赖即可. 微服 ...
- spring cloud学习进阶篇:Spring Cloud Sleuth + Zipkin 实现分布式跟踪解决方案
2019独角兽企业重金招聘Python工程师标准>>> 简述 使用 spring cloud 用到最多的是各种rest服务调用,Twitter的Zipkin 是一种实现分布式跟踪解决 ...
- Spring Cloud Sleuth+Zipkin 构建微服务链路跟踪系统
什么是链路跟踪系统? 在微服务中,多个服务分布在不同物理机器上,各个服务之间相互调用.如何清晰地记录服务调用过程,并在出现问题的时候能够通过查看日志和服务之间的调用关系来定位问题,这样的系统就叫做链路 ...
- 服务链路追踪配置mysql_学习微服务的服务链路追踪——Spring Cloud Sleuth+zipkin
spring cloud sleuth提供了服务链路追踪,并兼容了zipkin,Zipkin是一个链路跟踪工具,可以用来监控微服务集群中调用链路的通畅情况. 1.本来想新建一个有关zipkin-ser ...
- disabled spring cloud bus interation with spring cloud sleuth zipkin
当spring cloud项目jar依赖里面同时包含类似下面这种: "org.springframework.cloud:spring-cloud-starter-bus-kafka&quo ...
- Spring Cloud Sleuth + Zipkin + RabbitMQ 监控微服务应用(二)
前提是已经安装并启动了RabbitMQ服务. 1.Zipkin server 依旧使用zipkin-server-2.12.6-exec.jar,启动命令如下,指定rabbitmq的ip和访问账号密码 ...
- Spring Cloud Sleuth + Zipkin + RabbitMQ +MySQL(三)
1.创建MySQL数据库和表 CREATE TABLE IF NOT EXISTS zipkin_spans ( `trace_id_high` BIGINT NOT NULL DEFAULT 0 ...
- 分布式链路追踪之Spring Cloud Sleuth夺命连环9问?
点击上方☝码猿技术专栏 轻松关注,设为星标! 及时获取有趣有料的技术 大家好,我是不才陈某~ 这是<Spring Cloud 进阶>第九篇文章,往期文章如下: 五十五张图告诉你微服务的灵魂 ...
最新文章
- 代理工具Charles使用
- ssh登录虚拟机上的linux
- c++ union内存
- transform 遇上 position: fixed
- springboot打包时加入本地jar打包
- 数据可视化【七】 更新模式
- docker安装nginx容器小记
- python编程关键字_python编程关键字
- Java案例:文件切割与合并
- git代码库迁移保留commit历史_如何把git仓库(包含所有提交历史)迁移到gitlab
- C++ sizeof操作符的用法和strlen函数的区别
- 分享一个自动刷抖音的代码 auto js
- abb变频器以太网适配器,ABB以太网适配器 Ethernet Adapter现货FENA-01
- bootdo框架使用步骤总结
- JavaCV的摄像头实战之七:推流(带声音)
- 思科网络模拟器7.3.1版本的下载和安装
- java stringbuilder_Java stringBuilder的使用方法及实例解析
- springMVC 解决 “because it is included into a circular dependency(循环导入依赖)” 的问题
- 【论文阅读】Improving Table Structure Recognition with Visual-Alignment Sequential Coordinate Modeling
- 腾讯城市安全运营中心思考与实践:“1151”框架为智慧城市安全运营提供新方式