SpringCloudSleuth+Zipkin服务链路

1.技术介绍

SpringCloud Zipkin 与Sleuth Zipkin 是一个开放源代码分布式的跟踪系统,由Twitter公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现。 每个服务向zipkin报告计时数据,例如用户每次请求服务的处理时间等,可方便的监测系统中存在的瓶颈。 zipkin会根据调用关系通过Zipkin UI生成依赖关系图。 Spring Cloud Sleuth为服务之间调用提供链路追踪。通过Sleuth可以很清楚的了解到一个服务请求经过了哪些服务,每个服务处理花费了多长。从而让我们可以很方便的理清各微服务间的调用关系。此外Sleuth可以帮助我们: 耗时分析: 通过Sleuth可以很方便的了解到每个采样请求的耗时,从而分析出哪些服务调用比较耗时; 可视化错误: 对于程序未捕捉的异常,可以通过集成Zipkin服务界面上看到; 链路优化: 对于调用比较频繁的服务,可以针对这些服务实施一些优化措施。 Spring Cloud Sleuth可以结合Zipkin,将信息发送到Zipkin,利用Zipkin的存储来存储信息,利用Zipkin Ui来展示数据。

2.搭建Zipkin服务追踪系统

在 Spring Boot 2.0 版本之后,官方已不推荐自己搭建定制了,而是直接提供了编译好的 jar 包。详情可以查看官网:https://zipkin.io/pages/quickstart.html 注意:zipkin官网已经提供定制了,使用官方jar运行即可。
或者使用我分享的链接
https://pan.baidu.com/s/1DhR0jlCyU_oYUWmA62wafg 提取码:ent0

启动方式: 默认端口号启动zipkin服务 java –jar zipkin.jar
默认端口号; 9411 访问地址:http://192.168.18.220:9411 他的的数据默认存放在内存,而不是硬盘.

在这里插入图片描述

3.项目集成Zipkin

首先我们有member和order两个服务,其中member为生产者( P )order 为消费者( C )

  1. 我们需要在P和C之间添加Zipkin依赖
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-zipkin</artifactId>
		</dependency>

2.P和C添加配置文件

###订单服务的端口号
server:
  port: 8001
###服务别名----服务注册到注册中心名称 
spring:
  application:
    name: app-order
  zipkin: 
    base-url: http://192.168.18.220:9411/
  ###全部采集  
  sleuth:
    sampler:
      probability: 1.0

eureka:
  client:
    service-url:
    ##### 当前会员服务注册到eureka服务地址
      defaultZone: http://localhost:8100/eureka
    ### 需要将我的服务注册到eureka上
    register-with-eureka: true
    ####需要检索服务
    fetch-registry: true

此时我们利用C调用P,调用完成后,我们再次打开Zipkin,即可看到如下的依赖关系
在这里插入图片描述
在这里插入图片描述同时还可以看到调用服务的消耗时间
在这里插入图片描述
在这里插入图片描述
可到看到具体的服务调用之间的信息关系

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值