Spring Cloud入门教程-使用zipkin进行服务链路追踪

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27828675/article/details/83540658

项目源码及相关说明请查看此文:Spring Cloud入门教程-简介

一、zipkin是什么

        zipkin是一个开放源代码分布式的跟踪系统,由Twitter公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现。它的理论模型来自于Google Dapper 论文。

        每个服务向zipkin报告计时数据,zipkin会根据调用关系通过Zipkin UI生成依赖关系图,显示了多少跟踪请求通过每个服务,该系统让开发者可通过一个 Web 前端轻松的收集和分析数据,例如用户每次请求服务的处理时间等,可方便的监测系统中存在的瓶颈。

二、什么需要分布式跟踪系统(zipkin)

        当代的互联网的服务,通常都是用复杂的、大规模分布式集群来实现的。特别是随着微服务架构和容器技术的兴起(加速企业敏捷,快速适应业务变化,满足架构的高可用和高扩展),互联网应用往往构建在不同的服务之上,这些服务,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于快速分析性能问题的工具。先是Google开发其分布式跟踪系统并且发表了Dapper 论文,然后由Twitter参照Dapper论文设计思想开发zipkin分布式跟踪系统,同时开源出来。

         zipkin通过采集跟踪数据可以帮助开发者深入了解在分布式系统中某一个特定的请求时如何执行的。假如说,我们现在有一个用户请求超时,我们就可以将这个超时的请求调用链展示在UI当中。我们可以很快度的定位到导致响应很慢的服务究竟是什么。如果对这个服务细节也很很清晰,那么我们还可以定位是服务中的哪个问题导致超时。同时,通过服务调用链路能够快速定位系统的性能瓶颈。
 

下边通实例进行演示。

搭建ZipkinServer 

值得注意的是:

Spring Boot 2.0之后,使用EnableZipkinServer创建自定义的zipkin服务器已经被废弃,将无法启动.ZipkinServer 由官方提供jar包。我们只需要到官网下载即可。地址:https://zipkin.io/pages/quickstart , 找到latest release 进行下载

我这里是windows 环境,打开cmd  java -jar zipkin-server-xxx.jar 启动。 访问 http://localhost:9411/

扫描二维码关注公众号,回复: 3836898 查看本文章

将eureka-client-ribbon 复制一份,改名 eureka-client-zipkin .结构如下:

添加zipkin 依赖


		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-zipkin</artifactId>
		</dependency>

增加相关配置

server.port=8788
spring.application.name=eureka-client-zipkin

eureka.client.service-url.defaultZone=http://localhost:8791/eureka/

spring.zipkin.base-url=http://localhost:9411/
spring.sleuth.sampler.probability=1

logging.level.root=debug
spring.sleuth.sampler.probability 为采样率,默认为0.1,开发测试设为1.

因为这里调用的是eureka-client 所以对该项目做相同的修改。

启动eureka-server,eureka-client,eureka-client-zipkin.

请求:http://localhost:8788/main 打开zipkinserver 界面点击 Find traces 

请求过程就出现了,点击Dependencies 可查看依赖关系,如下图。

关闭eureka-client,重新请求

红色代表请求失败,点击可以看到eureka-client-zipkin  爆红请求失败。

猜你喜欢

转载自blog.csdn.net/qq_27828675/article/details/83540658