- 一、Spring Cloud Sleuth
- 1.1 Sleuth
- 1.2 基本概念
- 1.3 下载和启动
- 二、项目实战
- 2.1 对8001和80修改pom,引入zipkin依赖。
- 2.2 依次启动7001、8001和80进行测试
书接上文,继续跟着周阳老师学习SpringCloud的分布式跟踪框架Sleuth。 一、Spring Cloud Sleuth 1.1 Sleuth
Spring Cloud Sleuth为Spring Cloud实现了分布式跟踪,在分布式系统中提供追踪解决方案并且兼容支持了zipkin。
1.2 基本概念Span:工作的基本单位,类似与树结构的Span集合,表示一条调用链路,存在唯一标识。例如,发送RPC是一个新的跨度,就像发送响应到RPC一样。Span是由一个唯一的64位ID来标识的,而另一个64位ID用于跟踪。Span还具有其他数据,如描述、时间戳事件、键值标注(标记)、导致它们的span的ID和进程ID(通常是IP地址)。
可以启动和停止跨度,并跟踪其时间信息。 创建跨度后,必须在将来的某个时刻停止它。
启动跟踪的初始范围称为根跨度。 该范围的ID值等于跟踪ID。
Trace:一组Span形成树状结构。表示调用链路来源,通俗的理解Span就是一次请求信息。例如,如果运行分布式大数据存储,则可能由PUT请求形成跟踪。
SpringCloud从F版起就不需要自己构建zipkin server,只需要自己运行jar包就行了。下载地址。
java -jar zipkin-server-2.23.9-exec.jar
启动结果
访问http://localhost:9411/zipkin/
org.springframework.cloud >spring-cloud-starter-zipkin
增加修改8001和80的yml文件
zipkin: base-url: http://localhost:9411 sleuth: sampler: probability: 1 #采样率值介于0到1之间,1表示全部采集
8001中PaymentController增加paymentZipkin()方法
@GetMapping("/payment/zipkin") public String paymentZipkin(){ return "hi,i'am paymentZipkin server fall back,welcome !~!"; }
80中OrderController增加paymentZipkin()方法
@GetMapping("/consumer/payment/zipkin") public String paymentZipkin(){ String result = restTemplate.getForObject("http://localhost:8001"+"/payment/zipkin",String.class); return result; }2.2 依次启动7001、8001和80进行测试
如果启动不成功,需要用maven clean即可
多次使用80访问测试
http://localhost:80/consumer/paymentZipkin80
如果80访问报错,则需要注释ApplicationContext中的@LoadBalanced 注解
然后打开http://localhost:9411/zipkin/查看依赖
结果如下
代码下载
参考文章
https://www.cnblogs.com/wwjj4811/p/13629508.html
https://blog.csdn.net/niugang0920/article/details/81259990
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)