Spring Cloud 中使用 Zipkin 追踪服务
2020-04-12 16:08:15来源:博客园 阅读 ()
Spring Cloud 中使用 Zipkin 追踪服务
Zipkin 简介
ZipKin
是一个开放源代码的分布式跟踪系统,用于收集服务的定时数据,以解决微服务架构中的延迟问题。包括数据的收集、存储、查找和展现。
每个服务向 Zipkin
报告计时数据,Zipkin
会根据调用关系通过 Zipkin UI
生成依赖关系图,显示了多少跟踪请求通过每个服务。该组件可以让我们通过一个 Web
前端轻松的收集和分析数据。例如用户每次请求服务的处理时间等,可方便的监测系统中存在的瓶颈。
服务追踪说明
微服务架构是通过业务来划分服务的,使用 REST
调用。对外暴露的一个接口,可能需要很多个服务协同才能完成这个接口功能。
如果链路上任何一个服务出现问题或者网络超时,都会形成导致接口调用失败。
随着业务的不断扩张,服务之间互相调用会越来越复杂。随着服务的越来越多,对调用链的分析会越来越复杂,如下图:
Zipkin 服务端
引入依赖
在 pom.xml
主要添加 zipkin
、 zipkin-server
和 zipkin-autoconfigure-ui
依赖
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
</dependency>
注意: 这里的 zipkin
版本号为 2.10.1
,需要将版本号托管到统一依赖管理项目中
相关配置
在 application.yml
主要添加 zipkin
的相关配置
management:
metrics:
web:
server:
auto-time-requests: false
在 Application
启动类中通过 @EnableZipkinServer
注解开启 Zipkin Server
功能
@SpringBootApplication
@EnableEurekaClient
@EnableZipkinServer
public class ZipkinApplication {
public static void main(String[] args) {
SpringApplication.run(ZipkinApplication.class, args);
}
}
Spring Cloud Zipkin 客户端
在所需要被追踪的项目中添加以下配置
引入依赖
在 pom.xml
中添加 spring-cloud-starter-zipkin
依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
相关配置
在 application.yml
中添加 zipkin
地址即可
spring:
zipkin:
base-url: http://localhost:9411
测试服务追踪
启动全部项目,打开浏览器访问:http://localhost:9411 ,出现以下界面
点击 Find a trace
,可以看到具体服务相互调用的数据
点击 Dependencies
,可以发现服务的依赖关系
- 文章作者:彭超
- 本文首发于个人博客:https://antoniopeng.com/2019/12/03/springcloud/SpringCloud%E4%B8%AD%E4%BD%BF%E7%94%A8ZipKin%E8%BF%BD%E8%B8%AA%E6%9C%8D%E5%8A%A1/
- 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 彭超 | Blog!
原文链接:https://www.cnblogs.com/antoniopeng/p/12687644.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Spring系列.ApplicationContext接口 2020-06-11
- springboot2配置JavaMelody与springMVC配置JavaMelody 2020-06-11
- 给你一份超详细 Spring Boot 知识清单 2020-06-11
- SpringBoot 2.3 整合最新版 ShardingJdbc + Druid + MyBatis 2020-06-11
- 掌握SpringBoot-2.3的容器探针:实战篇 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash