1、发展历史
从业务团队和大数据团队烟囱式的开发,到构建大数据平台,18年开始行动,速度还是可以的。18年Flink不太成熟,使用Sparkstreaming属于正常的选择范畴,同时,构建了任务调度平台+SQL开发平台,降低开发难度,提升开发效率,是一个不错的选择。
随着任务增大,对于延迟、状态的管理、多任务的稳定性都有非常大的挑战,19年转向Flink,社区非常活跃,成果也非常多。
在FLink的基础上,基于之前的SQL平台功能,基于Flink1.8 快速构建了SQL2.0的功能,从此开启了实时数仓的建设。
随着公司的事件越来越多,为了满足公司事件流处理场景,20年底基于Flink1.11构建了SQL3.0的事件处理平台。
目前支持了30+个产品,1000+个任务(2019.5~2020.12),数据量达2500亿/日(所有流量、行业日志、数仓建设的数据),峰值达300万/秒,数据的支撑度还是蛮可观的。
2、平台架构
从功能特征层面,分4个维度
1)任务托管:支持任务托管的能力,包括任务的编辑发布、任务启停、版本管理、监控报警等;
2)多语言开发:支持Java、Scala、Python各类实时任务的开发,方便各种实时任务的接入;
3)多种任务类型:自定义任务、模板任务、场景任务(SQL),SQL任务占比比较高达到80%左右;