1、本文目标以及其它说明:
本文主要是介绍network包下面的类
2、network包下面的数据结构说明
trait BlockDataManager { //主要干3件事情 1 、通过blockid将块存储在本地 2、通过blockid将块从本地取
出来。3、释放1/2步获取的锁
private[spark] abstract class BlockTransferService extends ShuffleClient with Closeable with Logging {上一个是存储、拉取的是本地的,这个是用来存储和拉取远端的数据,而且有同步异步之分。
class NettyBlockRpcServer( appId: String, serializer: Serializer, blockManager: BlockDataManager) extends RpcHandler with Logging { 服务器,用来存储远端发来的block,发送远端请求的block和上面
第二个接口相对应。
private[spark] class NettyBlockTransferService( conf: SparkConf, securityManager: SecurityManager, bindAddress: String, override val hostName: String, _port: Int, numCores: Int) extends BlockTransferService {向远端抓取或者上传block的具体netty实现。