dubbo icon indicating copy to clipboard operation
dubbo copied to clipboard

一次rpc调用如何指定全局参数,rpc上下文需要调用一次指定一次,需求是全局有效的

Open javaeekobi opened this issue 3 years ago • 4 comments

  • [ ] I have searched the issues of this repository and believe that this is not a duplicate.

Ask your question here

javaeekobi avatar Aug 12 '22 07:08 javaeekobi

RpcContext.getContext().setAttachment("index", "1"); xxxService.xxx(); // 远程调用 // ...

这种方式,微服务之间多次调用就要设置多次,不满足需求. 希望一次rpv链路可以设置一个全局有效的参数

也可以将参数传给服务的提供者,但这样做代码改动较大,还是希望dubbo有方法可以解决

javaeekobi avatar Aug 12 '22 08:08 javaeekobi

加一个 Filter 可以配置在 invocation 的 attachements

AlbumenJ avatar Aug 12 '22 08:08 AlbumenJ

请问除了自己将全局参数缓存到ThreadLocal之外,Dubbo还有什么方法可以实现这样的针对一次请求的全局参数。连续调用多个远程方法,attachments在调用第一个远程方法完毕后被清空,无法连续传递。

zewade avatar Jan 06 '23 02:01 zewade

请问除了自己将全局参数缓存到ThreadLocal之外,Dubbo还有什么方法可以实现这样的针对一次请求的全局参数。连续调用多个远程方法,attachments在调用第一个远程方法完毕后被清空,无法连续传递。

可以通过全链路追踪的工具去传递,仅在 Dubbo 的角度如果调用后不清理的话造成的内存泄漏风险会更严重

AlbumenJ avatar Jan 09 '23 11:01 AlbumenJ