论文部分内容阅读
随着大规模流数据处理和分析技术的快速发展,近年来分布式流处理系统已被公认为解决大规模数据流问题的有效方法。因其拥有很强的并行处理能力和系统可扩展性,成为广受关注的新型分布式系统。随着分布式系统规模不断扩展,系统故障率攀升,可靠性问题加剧。生产环境的数据处理集群已突破万节点级别例如Google和Facebook等,此规模的分布式系统每天产生数个节点错误。因此,故障容错成为分布式流处理系统中至关重要的问题。分布式流处理系统迫切需要完善的故障容错支撑,主要有三方面原因。第一,流数据one pass的处理模式,导致珍贵的信息将在故障中永久性丢失,造成无法挽回的损失。流处理系统对容错开销和延迟有严格限制。第二,新的弹性流处理系统能满足流处理中无缝适应负载变化的要求,但也引入了容错问题的新挑战。第三,流数据负载不断变化,现有静态容错策略难以适应,引起不必要的运行开销,从而导致较低的节点级处理效率。围绕上述三个方面,本文的具体工作和主要贡献包括:(1)提出一种支持分布式流处理的低开销容错机制以及相关协议。所提出的机制和协议面向分布式流数据处理的实际容错需求,以实时流处理模型为基础,构建检查点异步更新机制和备份数据精准删除机制,支持低延迟和低开销的故障容错。实现一个支持容错的分布式流处理系统实时系统模型SPATE,具备较好的鲁棒性和低通信复杂度。(2)提出一种支持弹性流数据处理的在线调整容错机制。针对分布式流处理的弹性扩展需求,提出了一种高效灵活的容错机制,可以实现在线备份调整,以适应运行节点的自动扩展,包括数据备份重新分区和动态检查点更新。通过抽象化定义弹性数据备份单元(Elastic Data Slice,EDS),新的上游备份协议保证了恢复的一致性。在自动扩展场景下,故障节点从自动缩放后的状态重新启动系统,从而避免了高恢复延迟。在SPATE系统原型上对提出的容错机制进行验证,结果表明它可以有效地支持流处理的自动并行化。(3)提出一种分布式流处理的负载感知最佳检查点间隔模型。面向流数据的动态变化,提出一种新的负载感知最佳检查点间隔(Dynamic Optimal Checkpoint Interval,DOCI)模型,证明了在给定时间段它最大化节点处理效率。同时给出了一种在线最佳检查点间隔(Optimal Checkpoint Interval,OCI)的调整算法,以适应实时工作负载的波动变化。通过模拟实验,验证了DOCI模型的有效性和在线OCI调整算法的效率。与现有的容错方法相比,DOCI可将系统效率提高32%。