Dubbo3高级特性「框架与服务」RPC全链路调用追踪参数传递(OpenTracing)

Posted 浩宇の天尚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dubbo3高级特性「框架与服务」RPC全链路调用追踪参数传递(OpenTracing)相关的知识,希望对你有一定的参考价值。

上一节【RPC调用上下文的介绍】中建立了全链路调用的环境中必需的环境信息,例如应用名、调用的ip、等其他信息属性等。本节主要会建立相关的

特性说明

通过 Dubbo 中的 Attachment 在服务消费方和提供方之间隐式传递参数。

使用场景

上下文信息是RPC框架很重要的一个功能,使用RpcContext可以为单次调用指定不同配置。如分布式链路追踪场景,其实现原理就是在全链路的上下文中维护一个traceId,Consumer和Provider通过传递traceId来连接一次RPC调用,分别上报日志后可以在追踪系统中串联并展示完整的调用流程,这样可以更方便地发现异常,定位问题。

上一节的复用

Dubbo中的RpcContext是一个ThreadLocal的临时状态记录器,当接收到RPC请求,或发起RPC请求时,RpcContext的状态都会变化。比如:A调B,B调C,则B机器上,在B调C之前,RpcContext记录的是A和B的信息,在B调C之后,RpcContext记录的是B和C的信息。

上下文的种类

Dubbo3中,RpcContext被拆分为四大模块(ServerContext、ClientAttachment、ServerAttachment和ServiceContext),它们分别承担了不同的指责:

  • ServiceContext&#x

以上是关于Dubbo3高级特性「框架与服务」RPC全链路调用追踪参数传递(OpenTracing)的主要内容,如果未能解决你的问题,请参考以下文章

Dubbo3高级特性「框架与服务」 针对出现异常的RPC的服务功能降级机制

Dubbo3高级特性「框架与服务」框架与服务的异步调用实践以及开发模式

Dubbo3高级特性「框架与服务」Dubbo3客户端和服务端的泛化调用机制体系

Dubbo3高级特性「提升系统安全性」SSL的安全服务能力

Dubbo3高级特性「框架与服务」 服务分组及服务分组聚合实现

Dubbo3高级特性「框架与服务」服务端通过线程池隔离技术实现资源限制和资源隔离机制