本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star。
在《聊聊dubbo协议》中介绍了attachments在consumer和provider间的传递情况,有个疑问没有给出答案。
为什么2.7.x版本的dubbo不支持provider端向consumer端回传隐式参数呢?今天的续集将揭晓答案。
抓包确定是provider没发还是consumer丢掉
以下测试基于dubbo 2.7.6版本
在provider端加入下面的代码
RpcContext.getServerContext().setAttachment("hello", "from_provider");
运行provider,并用consumer不断地调用,同时进行抓包
sudo tcpdump -i any -vv -A -n port 20880
可以看到provider端将我们的参数回传了回去,说明是consumer端将数据“弄丢了”
分析2.6.x与2.7.x代码的差别
consumer在收到provider的请求返回时,处理流程如下:
Deco