You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Micrometer Tracer获取brave.Tracing实现Lettuce Redis追踪?

解决Lettuce集成Brave Redis追踪的参数问题

要解决BraveTracing.create()的参数问题,核心是先正确创建并配置brave.Tracing实例,再将其传入方法。以下是具体步骤:

1. 确保引入必要依赖

需要引入Brave核心包、Lettuce核心包,以及Lettuce与Brave的集成包(版本请匹配你的项目环境):

<!-- Brave核心依赖 -->
<dependency>
    <groupId>io.zipkin.brave</groupId>
    <artifactId>brave</artifactId>
    <version>5.14.1</version>
</dependency>
<!-- Lettuce核心 -->
<dependency>
    <groupId>io.lettuce</groupId>
    <artifactId>lettuce-core</artifactId>
    <version>6.2.6.RELEASE</version>
</dependency>
<!-- Lettuce Brave集成 -->
<dependency>
    <groupId>io.lettuce</groupId>
    <artifactId>lettuce-core-brave</artifactId>
    <version>6.2.6.RELEASE</version>
</dependency>

如果使用Spring Cloud Sleuth,只需引入Sleuth starter即可,它会自动管理Brave依赖:

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

2. 创建brave.Tracing实例Bean

你之前注入失败是因为Spring容器中没有brave.Tracing的实例,需要手动配置(如果用Sleuth则无需此步骤,Sleuth会自动创建):

@Bean
fun tracing(): brave.Tracing {
    return brave.Tracing.newBuilder()
        .localServiceName("your-service-name") // 替换为你的服务名称
        // 配置Zipkin上报地址,根据实际部署调整
        .spanReporter(AsyncReporter.create(URLConnectionSender.create("http://zipkin:9411/api/v2/spans")))
        .build()
}

3. 配置Lettuce ClientResources

将上述brave.Tracing实例注入并传入BraveTracing.create():

@Bean(destroyMethod = "shutdown")
fun lettuceClientResources(tracing: brave.Tracing): ClientResources {
    return DefaultClientResources.builder()
        .tracing(BraveTracing.create(tracing))
        .build()
}

关于你尝试的两种方式的说明

  • Tracing.current():这个方法返回当前线程绑定的Tracing实例,只有先通过Tracing.setCurrent(tracing)设置过才会有值,否则返回null,不适合直接用于Bean配置。
  • 注入brave.Tracing失败:因为容器中没有该类型的Bean,要么自己配置,要么引入Spring Cloud Sleuth让它自动生成。

内容的提问来源于stack exchange,提问作者Archimedes Trajano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 15:38:21