Sleuth+Zipkin 链路追踪

过程比较简单,分为三步:

  1. 下载zipkin.jar
  2. 项目中引入zipkin包
  3. 配置项目中的yml

1.下载zipkin.jar

据说spring cloud 从F版开始就把Zipkin的服务端分出去成了一个独立的Jar包,可以下载来用

https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/

也可以看官网:https://zipkin.io/pages/quickstart.html

下载之后可以直接启动:

java -jar zipkin-server-2.12.9-exec.jar

启动界面:

可以看到有一个可以访问的地址:http://127.0.0.1:9411

2.项目中引入zipkin包

在各个会发生调用的微服务中,添加jar包(每个微服务都相当于是一个客户端),这个包包含Sleuth所以不需要单独引Sleuth:

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

3.配置项目中的yml

在每个微服务中都添加配置:

重点看zipkin和sleuth的配置:

server:
  port: 8203 # 消费者实例的端口号
  
spring:
  application:
    name: consume # 消费者的实例名称
    
  zipkin:
    base-url: http://127.0.0.1:9411/  # zipkin服务器的地址
    sender:
      type: web  # 设置使用http的方式传输数据
  sleuth:
    sampler:
      probability: 1  # 设置抽样采集为100%,默认为0.1,即10%
      
eureka:
  instance:
    instance-id: consume-${server.port}
    prefer-ip-address: true
  client:
    serviceUrl:
      defaultZone: http://localhost:8201/eureka/ # 注册中心的服务地址,用于将消费者注册进去
      #defaultZone: http://localhost:8201/eureka/,http://localhost:8221/eureka/  # 注册中心的服务地址,用于将消费者注册进去

feign:
  hystrix:
      
    # 开启 Feign对Hystrix的支持
    enabled: true

# 需要改变ribbon轮询调用方式的服务名
PRODUCT-SERVICE:
  ribbon:
    # 改为随机的方式
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule


management: 
  endpoints: 
    web: 
      exposure: 
        include: health,info,hystrix.stream #根据需求增删路径

启动各个微服务。

访问一个服务:

然后刷新下:http://127.0.0.1:9411/zipkin/,会发现服务名中出现了选择项:

点击查找按钮,可以看到已经有数据了:

完毕。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值