关键词:
流式处理
分布式系统
性能优化
大数据系统
摘要:
随着大数据时代的到来,海量的用户数据赋能了众多数据驱动的行业应用,例如智慧交通、智能电网、商品推荐等.在数据实时性要求高的应用场景下,数据中的业务价值随时间增长快速降低,因此数据分析系统需要具有高吞吐和低延迟能力,以Apache Flink为代表的流式大数据处理系统得到广泛应用. Flink通过在集群的计算节点上并行化计算任务,水平扩展系统吞吐量.然而,已有研究指出, Flink存在单点性能弱,集群水平可扩展性差的问题.为了提高流式大数据处理系统的吞吐量,研究者在控制平面设计、系统算子实现和垂直可扩展性等方面开展优化,但现有工作尚缺乏对流式分析应用数据流的关注.流式分析应用是由事件流驱动并使用有状态处理函数的应用,例如智能电网场景下的低电压检测应用、商品推荐场景下的广告活动分析应用等.对典型的流式分析应用的数据流特征进行分析,总结其中存在的3个水平可扩展性瓶颈并给出相应的优化策略,包括:键级水位线,动态负载分发策略和基于键值的数据交换策略.基于上述优化技术,对Flink框架进行扩展并形成原型系统Trilink,选取真实场景数据集:低电压检测应用,桥梁拱顶监测应用和典型流式分析测试基准Yahoo Streaming Benchmark,与现有工作进行测试比较.实验结果表明,相较于Flink, Trilink在单机环境下吞吐率提升了5倍以上, 8节点下水平扩展加速比提高了1.6倍以上.