weibocom / motan

A cross-language remote procedure call(RPC) framework for rapid development of high performance distributed services.
Other
5.9k stars 1.78k forks source link

动态代理方案是否有做过比较? #612

Open lexburner opened 6 years ago

lexburner commented 6 years ago

最近在写一点rpc框架的阅读笔记,看了一下motan的源码,内部使用的是jdk动态代理,而dubbo使用的是javassit,个人也做了对比,性能方面应该是javassit>cglib>jdk。不知道官方是怎么考虑的?

rayzhang0603 commented 6 years ago

motan默认的实现是jdk动态代理,代理方案支持SPI扩展,可以自行扩展其他实现方式。 使用jdk做为默认,主要是减少core包依赖,性能不是唯一考虑因素。另外使用字节码方式javaassist性能比较优秀,动态代理模式下jdk性能也不会差多少。

hepyu commented 6 years ago

@rayzhang0603 motan支持除jdk动态代理之外的实现么?是否有配置,还是需要自己根据spi去实现呢?