1、作业调度系统
需要对大规模的在线和离线作业进行调度,其中在线业务QPS 1000w,要保证低延迟,离线作业是DAG模型。
- 准实时调度和离线调度,支持短周期任务,作业计划的变更,即时生效
- 灵活的调度策略,触发方式需要支持:时间触发,依赖触发或者混合触发,支持多种依赖关系等
- 系统高可用,组件模块化,核心组件无状态化
- 丰富的作业类型,能够灵活拓展
- 支持用户权限管理,能和各种周边系统和底层存储计算框架即有的权限体系灵活对接
- 做好多租户隔离,内建流控,负载均衡和作业优先级等机制
- 开放系统接口,对外提供REST API,便于对接周边系统
2、元数据管理系统
元数据的可用性直接影响着服务的可用性,为保证元数据的 高可用,主导设计了新的系统。整体架构分为控制面和数据面,控制面引入Raft协议,主节点负责管理元数据,多节点保证服务的可靠性;对元数据建模,通过websocket,加速元数据分发,数据面组件间通过pub-sub订阅元数据,在数据面所在机房,将元数据持久化,保证重启服务时或者断网时,数据面组件不依赖控制面启动,保证机房自洽。引入Ack机制在应用层保证websocket推送数据的可靠性。
3、多租户隔离系统
共享的资源无法满足资源要求敏感或函数执行环境有隔离需求的业务场景,数据隔离性差,通过Label标签,将资源进行池化,给租户创建专属资源池后,租户可以使用我们提供的接口对资源池进行分配;计算和存储资源可以做到租户级别的隔离,使用优化后的调度策略,保证租户请求及时调度到租户的资源上