微服务中的链路追踪问题

主要问题:

1、微服务中链路调用出现问题如何快速排除

2、微服务调用链路耗时怎么定位。

将一次请求分布式调用,使用GPS定位串起来,记录每个调用的耗时、性能等日志,并通过可视化工具展示出来。

SpringCloud的链路追踪组件Sleuth

 Sleuth:专⻔用于记录链路数据的开源组件

使用步骤:

1、给每个微服务导入依赖

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

                              

 可视化链路路追踪系统Zipkin

 zipkin官网

 是一个jar包,其端口默认是9411.

打开zipkin的方式,进入该jar包所在地址,然后启动

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

本地访问:http://127.0.0.1:9411/zipkin/

sleuth收集跟踪信息通过http请求发送给zipkin server
zipkin server进行跟踪信息的存储以及提供Rest API即可
Zipkin UI调用其API接口进行数据展示默认存储是内存,也可用mysql 或者elasticsearch等存储

使用步骤:

1、导入依赖   每个微服务模块都需要加上

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

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

2、配置   与application对齐

zipkin:
    base-url: http://ip:port/ # zipkin所在的地址
    discovery-client-enabled: false # 不开启服务发现

配置采样比例,采样过于频繁会影响系统的性能

 sleuth:
    sampler:
      probability: 1.0 #采样百分比

配置完之后可以通过 http://127.0.0.1:9411/zipkin/本地地址访问查看链路追踪的信息。

链路追踪系统的持久化,方便日后分析

可以存入mysql中

分布式配置

利用配置中心解决;

现在微服务存在的问题配置文件增多,不好维护
修改配置文件需要重新发布
什么是配置中心:统一管理配置, 快速切换各个环境的配置

       

nacos本身可以作为配置中心,而且前面利用nacos作为服务中心,此处可以再利用其配置中心的功能。

导入依赖:

  <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
  </dependency>

 不能使用原先的application.yml, 需要使用bootstrap.yml作为配置文件;

配置读取优先级 bootstrap.yml > application.yml

 2、建立bootstrap.yml文件并配置

spring:
  application:
    name: xdclass-order-service #微服务名,一般是模块名称

  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848 #Nacos配置中⼼心地址
        file-extension: yaml #文件拓拓展格式
  profiles:
    active: dev

3、注释掉application,并将其内容迁移到nacos的配置中心,如下图 

注意data id必须是bootstrap.yml中配置的name+后缀(-dev.yml)

 4、上面的配置是静态的,需要配置成动态配置,对修改能实时更新

需要加上这个配置到需要更新类的上面

@RefreshScope

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zero _s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值