尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Apache Dubbo 分布式追踪实战:3 行配置接通 OpenTelemetry 全链路
Apache Dubbo 分布式追踪实战3 行配置接通 OpenTelemetry 全链路【免费下载链接】dubboThe java implementation of Apache Dubbo. An RPC and microservice framework.项目地址: https://gitcode.com/gh_mirrors/dubbo11/dubboApache Dubbo 基于 Micrometer Observation 与 OpenTelemetry 提供了开箱即用的分布式追踪能力一次 RPC 调用可以生成贯穿上下游服务的 Trace并在 Zipkin 等后端中查看完整调用链。本文只覆盖四件事依赖装什么、怎么开启与配置导出、Trace 上下文如何跨服务传递、以及没有数据时按什么顺序排查。先装什么Dubbo 自带的 tracing starter这节解决依赖怎么选的问题。Dubbo 把追踪集成做成了独立的 Spring Boot starter按后端选型引入对应 artifact 即可无需自己拼 OpenTelemetry SDK。以 Zipkin 为例引入 observability 目录下的 starterdependency groupIdorg.apache.dubbo/groupId artifactIddubbo-spring-boot-tracing-otel-zipkin-starter/artifactId /dependency该 starter 会带上micrometer-tracing-bridge-otel与opentelemetry-exporter-zipkin自动装配代码集中在 observability/autoconfigure 模块。如果后端不是 Zipkin 而是 OTLP Collector同目录下还有dubbo-spring-boot-tracing-otel-otlp-starter可选。三步开启一行开关加两行参数这节解决怎么开的问题。追踪总开关是dubbo.tracing.enabled默认关闭必须显式置为true。其余参数都挂在dubbo.tracing前缀下定义见 TracingConfig。dubbo.tracing.enabledtrue # 采样率默认 0.1开发环境建议 1.0 保证链路完整 dubbo.tracing.sampling.probability1.0 # Zipkin 上报地址 dubbo.tracing.tracing-exporter.zipkin-config.endpointhttp://localhost:9411采样率的取值要分场景开发环境设为1.0任何请求都能查到完整链路生产环境按 10%默认值左右的量级控制上报压力配合批处理导出即可兼顾性能。多应用按应用名覆盖配置同一进程暴露多个 Dubbo 应用时可以用dubbo.tracings.应用名前缀分别控制开关和采样率dubbo.tracings.provider.enabledtrue dubbo.tracings.provider.sampling.probability0.5 dubbo.tracings.consumer.enabledtrue dubbo.tracings.consumer.sampling.probability1.0换成 OTLP 导出接 OTLP Collector 时把导出参数换成otlp-config前缀支持超时、压缩与自定义 headerdubbo.tracing.tracing-exporter.otlp-config.endpointhttp://localhost:4317/v1/traces dubbo.tracing.tracing-exporter.otlp-config.compression-methodgzip上下文怎么跨服务传播协议与 SPI这节解决Trace ID 如何在上下游之间传的问题。默认情况下 Dubbo 通过 W3C Trace Context 协议把传播上下文写入 RPC attachment下游服务据此延续同一条 Trace想改协议类型可以配置dubbo.tracing.propagation.typeB3。若还要透传业务字段可通过dubbo.tracing.baggage.remote-fields声明允许跨进程携带的 Baggage 键并在dubbo.tracing.baggage.correlation.fields中列出需要打印到日志的字段方便按 traceId 检索日志。除 HTTP 风格的传播头外Dubbo 还在网格路由侧留了一个 SPITracingContextProvider。它的方法签名只有一个String getValue(Invocation invocation, String key);作用是从第三方追踪工具如 OpenTelemetry 上下文中按键取值供路由规则按追踪上下文匹配请求。需要自定义时实现该接口并在META-INF/dubbo下创建与接口全限定名同名的文件customcom.example.MyTracingContextProvider怎么确认链路已接通从 JMX 到追踪 UI这节解决配完了怎么验证。先看进程侧Dubbo 的健康与观测信息可以经 JMX 端点查询dubbo-spring-boot-actuator 模块还把这些指标暴露成 Spring Boot Actuator 端点。再发起一次跨服务调用然后打开 Zipkin UI默认 http://localhost:9411能搜到同一条 Trace 下包含 provider 和 consumer 两侧 span说明传播与导出都正常如果只看到单侧 span问题多半出在另一侧的依赖或传播配置上。没有数据时按这个顺序排查这节解决配了却看不到链路的问题按命中概率从高到低依次确认dubbo.tracing.enabled忘了开该开关默认false不置为true时整个追踪装配不生效这是最常见的情况。starter 与后端不匹配用 OTLP starter 却只配了 Zipkin endpoint或反之对应 exporter 不会被创建span 无处上报。采样率过低默认0.1意味着九成请求不上报偶发查不到链路时先把开发环境调成1.0复测。endpoint 不通确认应用能访问9411等端口注意网关与网络策略Dubbo 对 Zipkin 的默认连接超时只有 1 秒超时偏紧的环境可调大zipkin-config.connect-timeout。上下游版本不一致所有参与调用的服务都需要引入同样的追踪依赖并启用开关只有一侧升级时链路会断在该侧。换了传播协议后下游不识别dubbo.tracing.propagation.type改成 B3 后未支持 B3 的下游无法接续 Trace跨团队系统建议保持默认 W3C。下一步可以深入 observability 自动装配源码理解 sampler、propagator 与 exporter 各 Bean 的装配条件若需要把追踪与指标、日志统一出口可继续看 dubbo-spring-boot-actuator 模块的端点实现。【免费下载链接】dubboThe java implementation of Apache Dubbo. An RPC and microservice framework.项目地址: https://gitcode.com/gh_mirrors/dubbo11/dubbo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

免费给老 Mac 装最新 macOS:OpenCore Legacy Patcher 完整指南

免费给老 Mac 装最新 macOS:OpenCore Legacy Patcher 完整指南

免费给老 Mac 装最新 macOS:OpenCore Legacy Patcher 完整指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 用 OpenCore Legacy Patcher 给老 …

📅 2026/10/26 1:24:05
如何快速搭建WorldSeed:10分钟从零运行你的第一个AI多智能体世界完整教程

如何快速搭建WorldSeed:10分钟从零运行你的第一个AI多智能体世界完整教程

人工智能AI Agent多智能体Agent 编排后端前端自主智能体 【免费下载链接】WorldSeed More is Different. A multi-agent world engine where AI agents live, talk, compete, ally. 项目地址: https://gitcode.com/gh_mirrors/wo/WorldSeed 点击查看 免费下载 只要…

📅 2026/10/26 1:24:05
Claude-SEO 的 SEO Drift 漂移监控技能实战:baseline / compare / history 与 17 条对比规则全解析

Claude-SEO 的 SEO Drift 漂移监控技能实战:baseline / compare / history 与 17 条对比规则全解析

【免费下载链接】claude-seo Universal SEO skill for Claude Code. 26 sub-skills 19 sub-agents covering technical SEO, E-E-A-T, schema, GEO/AEO, agent readiness (Lighthouse Agentic Browsing, WebMCP, llms.txt), backlinks, local SEO, e-commerce, international …

📅 2026/10/26 1:19:04
MORE NEWS

更多资讯

📰

蔚来后端一面+二面:16道高频真题(附答案PDF模板)

以上是蔚来后端岗位的真实面经,一面主要考察候选人的基础原理,二面考察场景设计能力,总的来说,我认为难度适中,这在我们真实工作中也是会经常会遇到的问题,下面我就上面的面试题,我做下自己的理…

📰

功能线程化:把一帧拆成流水线——任务图、依赖与工作窃取的引擎实现原理

玩家投诉 #2231: "你们这游戏帧率显示 144,但我开镜的手感像在水里。" 技术回复:"帧率正常,无异常。" 两边都对。 因为这个玩家感受到的不是帧率,而是流水线的长度—— 他按下右键的那一刻,这个信号要排队走过四道工位,才能变成屏幕上的光。 帧率决…

📰

Unity GUID 的身份模型:资源引用三元组、冲突成因与工程治理

一、事故复盘:全场景变粉红 1.1 现象 某 FPS 项目,版本上线前三天。策划打开主场景,愣住了:地图上所有墙面材质都变成了 Unity 默认的粉红色(Missing Material),几十把枪的模型变成了灰白方块。 排查结论只有一行字: 一个外包同学,把"整个工程文件夹"打包…

📰

数据竞争:共享状态的正确处理方式——内存序、happens-before 与所有权模型

Bug #4471 标题:角色偶发变成一条拉到地平线的面条 复现步骤:不明 出现频率:约 2000 局一次 平台:仅 Android 真机,PC 编辑器无法复现 处理人:已转交三个人,均标记"无法复现",挂起 47 天 这类 bug 有个共同的名字。它不叫"偶现",不叫"玄学&q…

📰

【Linux网络】会话管理session与Cookie

文章目录一、Cookie 介绍1.1 version1 纯Cookie1.2 version2 加入session机制一、Cookie 介绍 当我们登录某个网页之后,隔一段时间再次点开这个网页,会发现已经不需要再次登录了。为什么?毕竟 HTTP 协议本身是无状态、无连接的(每…

📰

【AI产品经理实战】Day 40|Cookie、HTTPS 到 API:调通第一次大模型对话

| 进度条:学习第 41-42 天(42/191)|当前完成度:约 33% |📎 今日速览:主学 HTTP 无状态与 Cookie、HTTPS 加密,再从 API 概念到申请 DeepSeek key、用 ChatBox AI 和 VS Code 调通大模…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬