虎牙离线作业调度系统:基于准时基线的实战设计与效益提升

版权申诉
0 下载量 126 浏览量 更新于2024-07-06 收藏 852KB PDF 举报
本文档深入探讨了虎牙公司基于准时基线的离线作业调度系统的设计与实践。该系统旨在解决离线计算场景中的任务调度问题,提升研发效能和资源成本效益,同时确保SLA(服务水平协议)的达成。系统定位为离线计算开发平台,经历了从早期的定位、研发效能阶段,到成本优化、智能运维,再到智能数仓探索的演变。 系统设计的核心是基线调度,它采用算力优先级编排策略,与市场上的开源产品如Dolphinscheduler、Airflow和Oozie等进行对比,强调了其DAG(Directed Acyclic Graph,有向无环图)工作流编排的优势,特别是通过抽象时间跨度而非穷举法来处理时间依赖关系,实现事件驱动的执行机制。系统部署架构包括任务定义及其依赖关系、任务运行实例的监控指标,以及Agent(代理)负责分布式文件存储和无状态设计,以便于扩展。 为了有效利用Yarn集群资源并保障SLA,文中提出了三个关键实现策略:首先,通过调整资源分配,减少在特定时段的过度集中,平衡高峰和低谷时段的算力使用;其次,合理设置集群的安全缓冲容量,以应对偶发性算力需求,同时降低不必要的资源浪费;最后,明确和管理SLA,确保服务质量和响应时间达到预设标准。 自2018年开始,虎牙的离线任务调度系统经历了显著的进步,不仅Yarn集群利用率提升至90%以上,而且准时率保持在90%以上,实现了较高的收益。通过智能化手段,系统能够自动调参、故障诊断,甚至根据用户业务模型自动生成和管理ETL(提取、转换、加载)过程,进一步推动了智能数仓的发展。 系统设计充分考虑了性能优化和运维效率,例如,通过接口机实现集群多实例路由,以提高任务处理速度,同时在Kubernetes(K8S)平台上进行部署,确保高可用性和灵活性。整体而言,该调度系统是虎牙数据平台的重要组成部分,通过精细的调度策略和持续的技术创新,显著提升了离线作业的执行效率和成本效益。