Sleuth是一个SpringCloud的分布式跟踪解决方案
一、术语- Span(跨度):Sleuth的基本工作单元,他用一个64位的id唯一标识。除ID外,span还包含其他数据,例如:描述、时间戳事件、键值对的注解(标签)、spanID、span父ID等trace(跟踪):一组span组成的树状结构称为trace
Annotation(标注):
CS(ClientSent客户端发送):客户端发起一个请求,该annotation描述了span的开始;
SR(ServerReceived服务器端接收):服务器端获得请求并准备处理它;
SS(ServerSent服务器端发送):该annotation表明完成请求处理(当响应发回客户端时);
CR(ClientReceived客户端接收):span结束的标识。客户端成功接收到服务器端的响应。
二、Zipkin的搭建与整合
Zipkin是Twitter开源的分布式跟踪系统,主要用来收集系统的时序数据,从而追踪系统的调用问题
搭建ZipkinServer
参考:https://www.imooc.com/article/291572
启动ZipkinServer,命令:java -jar zipkin-server-2.12.9-exec.jar
浏览器访问地址:http://localhost:9411
三、为用户中心整合Sleuth和Zipkin 3.1、在pom.xml中添加依赖3.2、 在application.yml中添加属性org.springframework.cloud spring-cloud-starter-zipkin
spring: zipkin: base-url: http://localhost:9411/ sleuth: sampler: #抽样率,默认0.1(10%),设置为1.0表示所有的数据都会上报给Zipkin probability: 1.03.3、测试:启动用户中心
http://localhost:8081/users/1
3.4、整合Zipkin之后Nacos报错解决参考:https://www.imooc.com/article/291578
只需要添加discoveryClientEnabled属性就可以解决问题
spring: zipkin: base-url: http://localhost:9411/ sleuth: sampler: #抽样率,默认0.1(10%),设置为1.0表示所有的数据都会上报给Zipkin probability: 1.0 #将Zipkin地址设置为绝对地址,nacos不会将其认作是一个服务名称,从而解决nacos报错 discoveryClientEnabled: false四、Zipkin数据持久化
Zipkin数据持久化依赖Elasticsearch数据库
下载地址:下载6.8.2
https://www.elastic.co/cn/downloads/past-releases#elasticsearch
启动Elasticsearch,在bin目录执行命令:./elasticsearch
浏览器访问:http://localhost:9200/
启动Zipkin时需要指定STORAGE_TYPE和ES_HOSTS环境变量来完成持久化
命令:STORAGE_TYPE=elasticsearch ES_HOSTS=localhost:9200 java -jar zipkin-server-2.12.9-exec.jar
五、 Zipkin的环境变量特别声明:本系列教程(SpringCloudAlibaba)参考自慕课网大目老师提供的网上视频课程,有需要的同学可以自行搜索学习
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)