Motan:目录结构

  motan是由maven管理的,在最外层的pom.xml中可以看出这个项目有多个模块组成。

    <modules>
        <module>motan-core</module>       //核心项目
        <module>motan-manager</module>    //管理motan的web项目
        <module>motan-springsupport</module>  //spring对标签的解析
        <module>motan-transport-netty</module>    //通信框架。消费端和服务端的之间的通信封装
        <module>motan-demo</module>               //实例
        <module>motan-registry-consul</module>   //使用consul作为注册中心
<module>motan-registry-zookeeper</module>//使用zookeeper作为注册中心 <module>motan-benchmark</module> //基本测试用 <module>motan-extension</module> //扩展相关。 </modules>

对于这些模块,最核心的模块就是motan-core,它的源码结构如下

cluster:客户端使用,主要是根据负载均衡和高可用机制,选取一个服务提供者。

codec:编码解码相关,客户服务器端需要根据字节流转化为协议,然协议转化为字节流。

common&util:

serialize:序列化的地方,现在共支持两种序列化方法,fastjson和heesian

protocol:客户服务器的通信协议,主要是injvm和motan

rpc:封装一些远程调用时候的方法和参数。

register:与注册中心的交互

proxy:为了屏蔽与客户端的通信细节,需要为客户端生成代理类,然后调用代理方法与服务器端通信。

transport:就是通信代码所在的地方

 

posted @ 2016-06-22 11:04  hansongjiang8  阅读(454)  评论(0编辑  收藏  举报