手记

【九月打卡】第21天 SpringCloud Sleuth 设置采样率、抽样收集策略

课程名称:Spring Cloud / Alibaba 微服务架构实战

课程章节:第8章-SpringCloud Sleuth 设置采样率、抽样收集策略

课程讲师:张勤一

课程内容:

1.SpringCloud Sleuth采样收集

  • 收集跟踪信息有利有弊,需要根据具体情况选择合适的采样方式。

  • 收集的跟踪信息越多,越能反映出系统的实际运行情况。

  • 高并发场景下,大量的请求调用会产生海量的跟踪日志信息,性能开销大。

tips: 在开发环境下,尽可能的收集更多的跟踪信息,更加请求的了解应用的运行情况;在生产环境,则根据具体形况收集合适的跟踪信息,方便排查问题。

1.1 Zipkin brave自带的抽样策略

  1. ProbabilityBasedSampler 采样率策略(默认策略)

    • 以请求百分比的方式配置和跟踪信息,默认值为0.1,代表收集10%的请求跟踪信息。
    spring.sleuth.sampler.probability=0.1
    
  2. RateLimitingSampler 抽样策略

    • 限速采集,限制每秒追踪请求的最大数量,优先级高,设置了该策略,第一种策略就会失效。
    //每秒最多采集10个请求的跟踪数据  
    spring.sleuth.sampler.rate=10
    

2. SpringCloud Sleuth采样收集的实现方式

2.1 配置文件的方式

spring:
  sleuth:
    sampler:
      # ProbabilityBasedSampler 抽样策略
      probability: 1.0  # 采样比例, 1.0 表示 100%, 默认是 0.1
      # RateLimitingSampler 抽样策略, 设置了限速采集, spring.sleuth.sampler.probability 属性值无效
      rate: 100  # 每秒间隔接受的 trace 量

2.2 代码方式

/**
 * 使用配置代码的方式设置采样率,一般配置其中一个采样策略即可。
 */
@Configuration
@Slf4j
public class SamplerConfig {

    /**
     * 限速采集策略
     * @return
     */
    @Bean
    public Sampler sampler(){
        return RateLimitingSampler.create(100);
    }

    /**
     * 概率策略
     * @return
     */
//    @Bean
//    public Sampler defaultSampler() {
//        return ProbabilityBasedSampler.create(0.5f);
//    }

}

课程截图:

0人推荐
随时随地看视频
慕课网APP