快速看了一下yarn的基本Interface,两个特点:事件+状态(SEDA),服务化

StateMachine:每个实体类在初始化时会定义好该类的一个状态机的状态拓扑,并有hook来处理这个过程

Event:描述事件的实体

EventHandler:用来处理具体类型事件,调用StateMachine做状态转换处理

Dispatcher:绑定某类事件到具体的Handler上,将具体的事件放到eventQueue中,(AsyncDispatcher)异步的将具体的事件分发到Handler上处理

Service:将自己注册到相应的ServiceStateChangeListener,封装了DispatcherHandler

AbstractService:当状态发生变化时调用listener的回调

YARN RPC:封装了hadoopRPC client/server,加了一些新增的协议,以及可以配置序列化方式