Motan In Action - Transport

2018/01/03

Transport

Motan网络通信层定义了Server和Client接口,都继承Endpoint和Channel。顶层接口Channel定义了通信的基本操作open、close等。Client接口新增了heatbeat心跳接口,AbstractClient实现了Client接口。Server新增了获取Channel方法,AbstractServer实现了Server接口。

EndpointFactory用于创建Server和Client。AbstractEndpointFactory实现了createServer和createClient基本逻辑并定义了抽象方法innerCreateServer和innerCreateClient。NettyEndpointFactory继承AbstractEndpointFactory并最终实现了innerCreateServer和innerCreateClient方法。innerCreateServer方法创建NettyServer,innerCreateClient创建了NettyClient。

MessageHandler

回调处理程序MessageHandler,定义了handler方法。ProviderMessageRouter实现了MessageHandler,Provider的消息处理实现。ProviderProtectedMessageRouter继承ProviderMessageRouter提供了一些保护机制。?还没研究什么保护策略?

创建NettyServer的时候,同时传了这个ProviderProtectedMessageRouter处理程序。Server接收到客户端请求会回调这个处理程序。??这里有个问题要弄明白下,一个工程里面的多个服务是启动一个server来,还是每个服务都启动一个server?最终通过反射的方式调用方法和参数。DefaultProvider.invoke实现了这个逻辑。

Post Directory