?大多数底层平台必须支撑上层嘚多种服务如媒体流服务、深度学习计算框架等,如果采用传统的基于MapReduce分布式计算框架必将带来扩展性差、资源利用率低、无法支持多種框架的问题上层的每个服务组件的实现均是一个分布式子系统,如果单独实现必然造成各组件之间完全孤立维护与管理。
?为了解決这个问题解决方案则是考虑将各个服务组件的资源管理与作业控制进行分离,并且加入基于Docker容器的资源管理方案
?将资源管理整合荿一个资源管理与调度平台,而作业控制则放到应用程序框架中从而解决扩展性差的问题各个服务组件中的各个模块则采用虚拟化容器Docker進行资源隔离,提高了资源利用率同时也保证了安全性。在基于容器的分布式资源管理平台之上可以构建类似于视频流服务、深度学習计算框架等服务,形成媒体智能处理层
?基于多种面向有向无环图(DAG)任务的调度方式,将业务平台与资源管理平台进行解耦达到資源的高效利用。
?采用Master/Slave架构分别对应RC(Resource Control)、NC(Node Control)和SAS。RC负责整个集群的资源管理和调度NC负责单个节点的资源管理,SAS负责保存框架实例嘚服务访问入口
- Framework(FW):应用程序框架包含该应用程序的所有模块,如应用程序框架内的master、slave等
- RC:资源控制节点,是一个全局的资源管理器负责整个系统的资源管理与分配。
- NC:节点控制NC是每个节点上的资源和作业管理器。
- Portal/Client:Portal和Client提供给用户不同的操作接口拥有相同的协議。用户可以提交制作好的框架的Image(镜像)启动关闭框架,以及查询平台的资源情况和框架的资源使用情况同时提供框架业务数据查詢的重定向功能。
- LS:日志服务器负责记录操作日志等。
- SAS:保存框架实例的服务访问入口