Hetty源码分析

研究下一个叫做Hetty的开源rpc框架,很简单,但对于编写类似的框架很有帮助,今天将思路简单整理一下。

Hetty源码在http://www.oschina.net/p/hetty,它结合了netty+hessian+reflectasm。netty做io框架,线程池处理io请求,使用hessian做rpc通信,真正的方法调用使用预先由reflectasm生成好的字节码,执行效率要比反射高很多。

虽然是个小框架,但很好的体现了服务初始化与运行分离的设计模式。

所有配置都在hetty.properties中,启动时读取文件,将线程池配置,用户名,密码,服务配置文件,用户名和密码是作者对服务安全的理解,某一个服务可以自由配置为特定用户发布,其他用户。

初始化:(HettyConfig,ServiceHandler,SecurityHandler,MetaDataProcessor)

1.将xml配置解析成service,由servcieHandler保存,service包含serviceProvider,其中包含了真实的服务对象和通过reflectAsm处理后的对象,这样运行时直接调用servciehandler即可。

2. 初始化ServiceMetaData,ServiceMetaData是hessian service代理类,包含接口对象和实际对象

3.启动netty服务,此时HettyHandler作为netty生命周期链路的channelHandler被加载,复写的messageReceived方法接收请求事件。

hetty运行部分的服务端代码就糅合了netty和hessian,不多赘述。客户端代码没有给出,其实简单的hessian客户端即可,但如果作为一个完整的框架客户端最好也支持可配置(毕竟服务端是可配的),同时我想嵌入spring也是有必要的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值