什么是微服务?一看就会系列!
一、手把手教你搭建SpringCloud项目(一)图文详解,傻瓜式操作
二、手把手教你搭建SpringCloud项目(二)生产者与消费者
三、手把手教你搭建SpringCloud项目(三)集成Eureka服务注册中心
四、手把手教你搭建SpringCloud项目(四)Eureka集群版搭建
五、手把手教你搭建SpringCloud项目(五)生产者集群版搭建
六、手把手教你搭建SpringCloud项目(六)Eureka实现服务发现
七、手把手教你搭建SpringCloud项目(七)集成Consul服务注册中心
八、手把手教你搭建SpringCloud项目(八)集成Ribbon负载均衡器
九、手把手教你搭建SpringCloud项目(九)集成OpenFeign服务接口调用
十、手把手教你搭建SpringCloud项目(十)集成Hystrix之服务降级
十一、手把手教你搭建SpringCloud项目(十一)集成Hystrix之服务熔断
十二、手把手教你搭建SpringCloud项目(十二 )集成Hystrix之图形化Dashboard实时监控
十三、手把手教你搭建SpringCloud项目(十三 )集成Gateway新一代网关
十四、手把手教你搭建SpringCloud项目(十四 )集成Config分布式配置中心
十五、手把手教你搭建SpringCloud项目(十五)集成Bus消息总线
十六、手把手教你搭建SpringCloud项目(十六)集成Stream消息驱动
十七、手把手教你搭建SpringCloud项目(十七)集成Sleuth分布式链路跟踪
继续更新中,欢迎点赞关注!
在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每一个前端请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。所以在较复杂的系统中,一个调用链路中会有很多个微服务,无疑我们需要对链路上的微服务进行跟踪。
SpringCloud Sleuth就提供了一套完整的服务跟踪的解决方案,在分布式系统中提供了追踪解决方案并且兼容支持了zipkin,SpringCloud Sleuth负责对微服务调用链路的收集整理,而zipkin负责对链路的展现。
SpringCloud从F版之后就不需要自己构建Zipkin Server了,只需要调用相关jar包即可,zipkin的jar包下载地址,下载其jar包到本地,我下的是当前最新的zipkin-server-2.12.9-exec.jar。进入到该jar包的目录,在命令行中输入java -jar命令运行该jar文件:
java -jar zipkin-server-2.12.9-exec.jar
访问 http://localhost:9411/zipkin/ 进入zipkin监控平台页面:
在需要被链路监控的微服务中引入如下依赖:
<!--包含了sleuth+zipkin-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
比如在我们最开始学习Eureka服务注册中心时使用的8001微服务(服务提供方)和80微服务(服务消费方),那时候80微服务作为服务消费方访问8001提供的微服务,我们现在在这两个微服务中引入上述依赖,并在配置文件中配置zipkin和sleuth的配置信息:
spring:
zipkin:
base-url: http://localhost:9411
sleuth:
sampler:
# 采样率值介于0到1之间,1表示全部采集
probability: 1
在80和8001微服务都引入了上述依赖并添加了上面的配置后,启动Eureka服务注册中心、8001服务提供方服务、80服务消费方服务,然后我们用80调用8001的服务进行测试,在zipkin面板中即可查看服务调用链路:
我们Spring Cloud Sleuth到这里就学习完毕了,那我们Spring Cloud整套也学习完了。是不是so easy!
由于时间原因就转发的其他小伙伴六甲横宝的文章,点击查看原文!