hadoop技术内幕-----深入解析YARN架构设计与实现原理
类图摘自书中第65页(以server端为例)
自下向上:
yarn_server_common_service_protos.proto 文件中采用protocol buffer语法定义了RPC函数的参数和返回值,即定义了protocol buffer中的序列化部分,主要包括RegisterNodeManagerRequestProto,RegisterNodeManagerResponseProto,NodeHeartbeatRequestProto,NodeHeartbeatResponseProto
为了方便java使用,又对protocol buffer生成的java代码进行了封装,并抽象出四个接口,接口分别是RegisterNodeManagerRequest,RegisterNodeManagerResponse,NodeHeartbeatRequest,NodeHeartbeatResponse,四种接口对应的PB实现分别为RegisterNodeManagerRequestPBImpl,RegisterNodeManagerResponsePBImp,NodeHeartbeatRequestPBImp,NodeHeartbeatResponsePBImp,
ResourceTracker.proto文件中采用protocol buffer语法定义了RPC函数,但并未提供具体实现,需要自定义实现RPC函数,自定义实现为ResourceTrackerService,在ResourceTrackerPBServiceImpl中直接调用ResourceTrackerService即可。