Dubbo 全链路监控技术实践

springboot + dubbo 整合 zipkin 实现链路追踪 链路追踪 阅读详情

序言:

Dubbo是一款高性能的Java RPC框架。其前身是阿里巴巴公司开源的一款高性能、轻量级的开源Java RPC框架,它的设计初衷是为了方便服务之间的远程调用,是微服务体系构建的重要基石。

Dubbo是国内开源的专门用于微服务之间通信的框架,背靠大厂有技术保障,有活跃的开源社区,技术成熟稳定,依赖组件少,相对于国外的比如Spring-Cloud来说上手更容易,因此广泛的被国内各行各业使用,比如电商、证券、银行等等。

微服务是当前企业服务的最通用架构,相对于传统的单体大服务有诸多优势,但同样使得服务关联关系变得更加复杂,此时一套分布式全链路追踪的可观测系统工具变得越来越重要,而Dubbo的全链路监控是监控系统的重要一环。

▐  技术方案

  全链路监控是由一条业务链路上每个组件的调用元数据(span)通过一个相同的唯一标识(traceId)串联而成,通过这些元数据能直观看到业务链路的走向及明细信息。针对Dubbo调用如何构建元数据(span),是每套可观测系统都需要解决的问题。

图片

Databuff APM模块 使用ASM字节码修改技术,对Dubbo的MonitorFilter Class做了代码增强,修改了其核心方法的字节码,在其前后增强了APM的框架代码,这样客户端和服务端在其执行核心方法之前都能执行相应的处理逻辑:

  • Client

    • before:生成调用span,将APM数据注入到Request上下文

    • after:从Response上下文获取APM数据,填充到span中,结束span

  • Server

    • before:生成span,从Request上下文提取APM数据,注入到span以及线程上下文中

    • after:将APM数据写入Response上下文,结束span

▐  呈现效果

图片

图片

客户端和服务端都会生成一个span,每个span都会记录当前服务的ip域名,服务名称,线程名称,接口#方法名称,客户端还是服务端,调用耗时,是否报错等等。

Dubbo调用可能有很多异常情况,大部分都能通过监控界面看到,比如远程调用超时:

图片

从上图能看到服务端的执行时间超过了客户端的等待时间,客户端等不了了抛出异常(能看到异常堆栈信息),但服务端最终还是执行成功了,有上报的span,也能看到服务端的span的时间条很长,远远超过客户端的span时间条。

通过span信息能很直观监控dubbo调用,当然也能很直观看到当前业务链路监控信息,这就是可观测系统的意义所在。

Dubbo灰度发布完全指南:从精准引流到全链路灰度 而在以Dubbo为核心的现代微服务架构中,灰度发布(金丝雀发布) 让你可以像外科手术一样精准:只让1%的特定用户(如内部员工)访问新优惠券服务,其余99%的用户依然使用稳定版本。它允许你为服务提供者实例打上标签(如 env=gray),然后通过规则将带有特定标签的消费者请求,精确路由到对应的提供者集群,实现流量的逻辑隔离。本文将为你深入剖析Dubbo中实现灰度发布的三大核心武器:标签路由、参数路由和分组与版本控制,并通过一个完整的电商系统案例,手把手带你掌握从简单引流到全链路灰度的全套实战技能。 阅读详情

相关推荐

【yolov8】与yolov5的区别及改进详解

yolov8-----有点厉害的目标检测框架.

qq_44878985的博客 3万+

SpringBoot Zipkin Dubbo Rpc 调用链路追踪完整流程 (一)

SpringBoot Zipkin Dubbo Rpc Http日志链路追踪全流程 先拍砖,这个流程你跑不通,或者说Dubbo调用时候服务提供者、消费者 traceId不能串联起来、直接来拍我,有一个我接一个!!!!!! 说明: 本次主要针对 2.7.x Dubbo版本的调用实现链路追踪,众所周知,2.7.x Dubbo由org.apache开始维护,不再由 com.alibaba维护 我们实现微服务RPC通信,至少两个项目,先构建提供者 订单微服务, 再构建消费者 用户微服务,实现 用户微服务 调用 订

流浪的喵的博客 1951

SigmaStudio进阶技巧:如何用ADAU1701实现60段EQ与防啸叫算法

本文深入探讨了如何在ADAU1701 DSP芯片上实现专业级音频处理系统。通过精密的资源规划与架构设计,详细讲解了构建高达60段参数均衡器(EQ)的有效方法,并集成了移频与自适应陷波双策略的智能防啸叫算法。内容涵盖从SigmaStudio工程优化、算法模块组合到系统联调实战的全流程,旨在帮助中高级开发者充分利用ADAU1701性能,打造稳定、高效的音频处理解决方案。

weixin_28256233的博客 386

分布式链路追踪 —— 基于Dubbo的traceId追踪传递

本文首先介绍 Dubbo 的 RpcContext 上下文和 Filter 过滤器,然后再介绍基于Dubbo的traceId追踪传递的实现。

longool的博客 2452

利用正射影像对斜射图像进行反向投影

因此,RANSAC算法可以通过计算inliners和outliers的数量来评估估计关键点的质量,确保与其他点不一致的点不会在Homography矩阵中被估计。然后,它通过考虑关键点周围区域中图像的梯度大小和方向来计算每个提取的关键点的方向。由于单应性矩阵的计算可能会受到两个图像中异常值的存在的影响,这将导致矩阵的不正确估计并导致沿图像的对准和映射不良。FLANN匹配器的方法基于K近邻搜索的概念,即从图像中找到k个近邻。找到相机在正射影像坐标系中的位置并在正射影像上绘制重叠区域的边界框。

gis收藏家的博客 1513

Java 开发打飞机小游戏(附完整源码)

上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习。java确实不适合写桌面应用,这里只是通过这个游戏让大家理解oop面向对象编程的过程,纯属娱乐。代码写的很简单,也很容易理解,并且注释写的很清楚了,还有问题,自己私下去补课学习。 完整代码 敌飞机 import java.util.Random; 敌飞机: 是飞行物,也是敌人 public class Airplane extends FlyingObject implements Enemy {

一只独孤的程序猿 1万+

SpringBoot Sleuth Zipkin Dubbo日志链路追踪全流程(2)

SpringBoot Sleuth Zipkin Log日志链路追踪全流程 先拍砖,这个流程你跑不通,或者traceId找不到、Log4j2无法生成TraceId,直接来拍我,有一个我接一个!!!!!! 1.步骤 1)先下载Zipkin jar包 这样你可以在本地先启动Zipkin服务 我的版本是zipkin-server-2.12.9-exec.jar 下载地址 链接:https://pan.baidu.com/s/1BV61J0c4EwWzC8OnBwQY8Q 提取码:898k 可以下载zipki

流浪的喵的博客 1402

深度学习环境搭建以及DeepLabCut安装过程

文章目录 一、查询电脑硬件 安装GeForce驱动程序 二、环境搭建与软件安装 1.安装CUDA运算平台软件 2.安装cuDNN支持包 3.配置环境变量 三、 DeepLabCut环境配置 1.安装Anaconda 2.创建容器环境 3.激活容器环境 4.安装TensorFlow 5.验证TensorFlow是否安装成功 6...

m0_51136557的博客 3159

dubbo源码分析(七)服务发布和调用的链路追踪

本篇博文先通便总结dubbo服务发布和调用的设置分层,以及dubbo流程调用场景并通过dubboInvoker的export()服务发布、invoke()服务调用为入口,通过分析其堆栈信息,对请求发布和请求调用的整个链路进行了最终,服务发布包含:invoker,过滤链、dubboInvoker .服务调用包括代理对象,cluster、filterChain、dubboInvoke。希望这篇博文能帮助大家了解dubbo服务发布和调用过程。

liushangzaibeijing的博客 5万+

【SpringBoot 3.x 第56节】再见 Feign?原生 HTTP 接口强势上位,这才是微服务调用的正确姿势!

🏆本文收录于《滚雪球学SpringBoot 3》,专门攻坚指数提升,本年度国内最系统+最专业+最详细(永久更新)。    本专栏致力打造最硬核 SpringBoot3 从零基础到进阶系列学习内容,🚀均为全网独家首发,打造精品专栏,专栏持续更新中…欢迎大家订阅持续学习。 如果想快速定位学习,可以看这篇【SpringBoot3教程导航帖】,你想学习的都被收集在内,快速投入学习!!两不误。    若还想学习更多,可直接前往《滚雪球学SpringBoot(全版本合集)》,涵盖SpringBoot所有版本教学文章

**My Coding Family** 1017

RHCA ---RH442-4

这题考试中是没有的,但我做ex的判分脚本里做了,主要是lab环境swap只有512M的,这样后续改了某几个参数后会造成内存不够用导致异常.这里记得是双>,如果没自信的小伙伴可以在考试开始后第一时间把/etc/fstab先备份一个或者vi进入后手动敲一下。根据题意我们需要分2个768M的分区给swap。用free看swap大小是2.0Gi即可。留意红框中的内容即可,最后w保存退出。这个时候可以重启下机器。

Q先生 644

微服务监控新范式:Pinpoint零侵入式全链路追踪实践指南

Pinpoint是一款强大的开源APM(应用性能监控)工具,专为微服务架构设计,提供零侵入式的全链路追踪能力。通过自动收集分布式系统中的调用数据,Pinpoint帮助开发人员快速定位性能瓶颈,优化系统响应速度,提升用户体验。无论是复杂的微服务架构还是简单的单体应用,Pinpoint都能提供全面的性能监控解决方案。 ## 核心功能解析:为什么选择Pinpoint? Pinpoint的核心优势在于

gitblog_00597的博客 690

道路缺陷检测实战指南:基于YOLOv11的深度学习系统从搭建到落地

道路缺陷检测项目的每一步,都是“理论→实践→反思→优化”的成长循环。当你看到自己开发的系统能精准识别出道路上的每一处裂缝、每一个坑洼时,那种“技术解决真实问题”的成就感,会让你明白深度学习不止是论文里的公式,更是改变行业的工具。如果过程中遇到模型不收敛、界面功能异常等问题,不妨把问题拆解成“数据是否标注准确?”“模型参数是否合理?”“界面逻辑是否有漏洞?”等小问题逐一排查。记住,每解决一个问题,你就离“能独立落地AI项目的工程师”更近一步。

LXY_LOVE36的博客 172

Dubbo多版本管理的艺术:从灰度发布到全链路监控的实战解析

本文深入解析Dubbo多版本管理的实战技巧,涵盖灰度发布、全链路监控及微服务架构中的版本兼容挑战。通过智能流量控制、Kubernetes渐进式发布及版本级监控体系,实现平滑升级与业务连续性保障,助力企业高效应对微服务版本迭代的复杂场景。

Pepper的专栏 177

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

终极指南:如何安全使用Dubbo开源项目?从协议到代码的完整合规实践

Apache Dubbo作为一款高性能的分布式服务框架,被广泛应用于各类企业级应用中。然而,在享受开源带来便利的同时,法律合规风险也不容忽视。本文将从协议解析、配置管理到代码实践,为你提供一套完整的Dubbo开源项目合规指南,帮助团队规避法律风险,确保项目健康发展。 ## 一、Apache 2.0协议深度解读:权利与义务 Dubbo采用Apache License 2.0开源协议,这是一种 p

gitblog_01171的博客 358

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Dubbo灰度发布实战:从零构建全链路流量控制体系

本文详细介绍了Dubbo灰度发布的实战经验,从零构建全链路流量控制体系。通过标签路由、参数路由等多种方案,实现微服务架构下的平滑升级和安全发布,显著降低发布风险并提升系统稳定性。文章还涵盖了监控体系、自动化控制及生产环境最佳实践,帮助开发者高效实施灰度发布策略。

swift5iosmith的博客 175

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

如何用Sealos实现Spring Cloud与Dubbo微服务的现代化改造:完整指南

Sealos是一个生产就绪的Kubernetes发行版,提供了面向公有云和私有云的一站式解决方案。对于微服务架构而言,Sealos能够显著简化Spring Cloud与Dubbo应用的容器化部署、服务治理和运维管理,帮助开发者快速实现传统微服务的云原生转型。 ## 为什么选择Sealos进行微服务改造? 传统微服务架构在面临规模化部署时,往往会遇到环境一致性、资源利用率低、运维复杂等问题。Se

gitblog_01198的博客 1125

数据库死锁排查与全链路追踪实践

数据库死锁是分布式系统中常见的性能瓶颈问题,其本质是多个事务对资源访问顺序不一致导致的循环等待。通过分析InnoDB引擎状态日志可以还原死锁图谱,常见解决方案包括调整事务隔离级别、重构SQL执行顺序或引入分布式锁。全链路追踪技术则能有效诊断微服务架构中的性能问题,主流方案如SkyWalking通过Java Agent实现无侵入式埋点,配合TraceId传递可构建完整的调用链视图。本文结合订单系统的真实死锁案例,详解如何通过三级处理策略快速恢复业务,并分享Spring Cloud集成SkyWalking时的配

weixin_30735745的博客 373

【Jmeter】压测实践

,},},},

我是一名在测试领域扎根15年+的“老匠人” 1223

参数路由的艺术:如何用业务特征精准控制Dubbo灰度流量

本文深入探讨了Dubbo参数路由技术在灰度发布中的应用,通过业务特征精准控制流量分发。文章详细解析了参数路由的核心价值、底层实现机制及全链路透传方案,并提供了生产环境实战案例和性能优化建议,帮助开发者高效实现精细化流量管理。

kmeans3miner的博客 178

淘宝返利系统微服务架构设计与性能优化实践

微服务架构通过将单体应用拆分为独立部署的服务单元,显著提升了系统的可扩展性和容错能力。其核心原理包括服务注册发现、分布式通信和弹性设计,在电商等高并发场景中尤为重要。以淘宝返利系统为例,采用Spring Cloud Alibaba和Dubbo构建的微服务体系,实现了接口响应时间从800ms到120ms的优化,日订单处理能力提升15倍。关键技术点包含Nacos服务治理、RocketMQ事务消息保障佣金计算一致性,以及多级缓存策略应对高并发查询。这类架构特别适合需要实时计算、频繁变更的业务模块,如商品解析和返利

weixin_33720956的博客 426

SkyWalking实现Dubbo跨进程全链路监控实践

分布式系统中,全链路监控是确保服务可观测性的关键技术。通过TraceID串联跨服务调用,APM工具能还原完整请求轨迹。SkyWalking作为开源APM系统,采用Java Agent实现无侵入埋点,特别针对Dubbo等RPC框架优化了跨进程上下文传递机制。其核心原理是通过RPC Attachment传递TraceContext,解决微服务架构中调用链断裂的痛点。在生产环境中,该方案能显著提升故障排查效率,同时需注意采样率配置与性能开销的平衡。本文以Dubbo为例,详解如何通过SkyWalking实现跨JVM

weixin_33957648的博客 470

Dubbo 监控数据采集全链路实战:构建微服务可观测性体系

Dubbo 的监控数据采集能力,已经从简单的统计计数,演进为一个涵盖的立体化、全方位的可观测性解决方案。通过本文对核心原理模块的剖析以及对四种实战方案的详解,相信你已经掌握了构建这套体系的钥匙。“面向失败设计,为未知而建”。一个强大的监控体系,不仅能让你在故障发生时快速定位和恢复(降低MTTR),更能帮助你提前发现系统隐患,主动进行性能优化和容量规划,最终为业务的稳定性和连续性提供坚实保障。架构师视角:可观测性不是功能的堆砌,而是一种贯穿于系统设计、开发、运维全周期的工程文化。

全栈开发工程师 2514

Dubbo监控中心工作原理:从数据采集到可视化展示的全链路解析

Dubbo监控中心通过Filter拦截器采集数据、定时任务进行本地聚合、HTTP或Dubbo协议上报数据、Web界面进行可视化展示的全链路机制,为分布式服务提供了全面的监控能力。监控中心不仅能够实时展示服务调用情况,还能帮助用户分析性能瓶颈和潜在问题,是分布式系统治理的重要工具。随着微服务架构的普及和云原生技术的发展,监控中心也在不断演进。未来,Dubbo监控系统可能会更加智能化,提供自动异常检测、根因分析等功能。

weixin_45422672的博客 1675

FastGPT 文化产业全流程实战:4 步跑通从素材整理到版权审查的内容生产线

FastGPT 是一款开源的 AI Agent 构建平台,围绕大模型提供知识库数据处理、RAG 检索和可视化工作流编排等开箱即用能力。把它放进文化行业,就是一条能覆盖内容创作、知识产权管理和快速部署的生产线:出版社、影视公司、自媒体和 IP 运营团队,不用从零搭技术栈,也能让 AI 助手跑在真实的业务环节里。下面按一条内容生产的完整流程,拆解每个环节怎么用、带来什么改变。 ## 📚 第一步:把

gitblog_00639的博客 952
上一篇: 为什么要迈进NGAIOps(下一代AIOps)
下一篇: 带你一起阅读《Forrester Wave:AIOps 调研报告》
aiSRE工程狮
博客等级 码龄5年 423粉丝 92原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值