您的位置:首页 > 其它

对dubbo进行重构,支持thrift原生协议直接调用

2016-07-12 23:03 369 查看
整体思路:不入侵,不改变dubbo原来的任何特性,新增对thrift原生协议支持,原生协议的调用,同样可以进行原来的监控统计。

唯一丢失的特性,就是没有了软路由。因为原生协议不是使用dubbo客户端调用。

 

网上有一种改造的方法,对整条调用链都改了,包括:protocol,exchange,transport,request,response都改了,使用thrift原生server解释执行方法。

这种做法入侵太大,而且完全没有必要。如果你认真看内置的thrift解码、编码模块,你会发现dubbo本身在内部就是模仿了thrift原生client和server进行编码解码,实际上执行效果和性能是完全一样的。

 

重构方法:

1、对dubbo schema的service标签增加一个属性:thrift_native="true"

2、对内置的thrift解码、编码模块进行改造,根据thrift_native值,去兼容原生调用,关键在于原生调用的时候,正确解码出request和编码response。

 

重构只用了一天时间,但研究源码要花很多时间。经过简单测试,已经能正常使用,稍后放到git上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: