以Master启动netty为例,流程如下
netty的封装
spark对netty做了封装,在spark-network-common模块,如下
- TransportContext维护Transport的上下文环境,用于创建TransportServer和TransportClientFactory。
- TransportServer通过构造函数启动netty,提供底层通信服务。
- TransportClientFactory用来创建TransportClient。
-
TransportClient用以和对应的TransportServer通信。
此外还有用于处理信息的MessageEncoder、MessageDecoder、RpcHandler等,这些和netty的具体使用紧密相关,后续介绍,也可参考Netty User guide for 4.x,关于spark-network-common更多信息参考Spark Network Common的实现。
总结
介绍了以下两部分内容:
- spark中启动netty的过程,即创建RpcEnv时,通过TransportContext实例化TransportServer,TransportServer构造器中启动netty。
- spark对netty的封装,主要包括TransportContext、TransportContext、TransportClientFactory和TransportClient。
网友评论