实时流处理
Master.TJ
https://github.com/fengruotj
展开
-
Apache SparkStreaming 简介和编程模型
1. 简介图5.22 SparkStreaming[16] Spark Streaming是Spark API核心扩展,提供对实时数据流进行流式处理,具备可扩展、高吞吐和容错等特性。Spark Streaming支持从多种数据源中提取数据,例如Twitter、Kafka、Flume、ZeroMQ和TCP套接字,并提供了一些高级的API来表示复杂处理算法,如map、reduce、join、wi...原创 2018-06-05 15:28:13 · 1600 阅读 · 0 评论 -
一周一论文(翻译)——[SIGMOD 19] Elasticutor:Rapid Elasticity for Realtime Stateful Stream Processing
Abstract弹性非常适用于流系统,以保证针对工作负载动态的低延迟,例如到达率的激增和数据分布的波动。现有系统使用以resource-centric的方法实现弹性,该方法在并行实例(即执行程序)之间重新分配Key,以平衡工作负载和扩展Operator。然而,这种Operator级别的重新分区需要全局同步并且禁止快速弹性。我们提出了一种以executor-centric的方法,它避免了Oper...原创 2019-09-18 22:12:38 · 1121 阅读 · 3 评论 -
一周一论文(翻译)——[IEEE 14] Elastic scaling for data stream processing
Abstract本文讨论与通用分布式数据流处理应用程序的自动并行化相关的盈利问题。自动并行化涉及在应用程序的数据流图中定位区域,这些区域可以在运行时复制以应用数据分区,以实现扩展。为了使自动并行化在实践中有效,需要回答盈利问题:有多少并行通道提供最佳吞吐量?此问题的答案根据运行时的工作负载动态和资源可用性而变化。在本文中,我们提出了一种弹性自动并行化解决方案,可以动态调整用于实现高吞吐量的通道...原创 2019-09-18 17:09:38 · 754 阅读 · 0 评论 -
一周一论文(翻译)——[ICDCS 15] DRS: 在快速流下实时计算分析的动态资源调度系统
Abstract在数据流管理系统(DSMS)中,用户注册连续查询,并在数据到达和到期时接收结果更新。 我们专注于具有实时约束的应用程序,其中用户必须在更新发生后的给定时间段内接收每个结果更新。 为了处理快速数据,DSMS通常位于云基础架构之上。 由于实时流速到达等流属性可能无法预测地波动,因此必须动态配置和调度云资源以确保实时响应。 对于现有系统或未来发展而言,必须具备根据当前工作负载动态调度...原创 2019-09-17 17:50:27 · 1592 阅读 · 0 评论 -
一周一论文(翻译)——[PVLDB 17] Dhalion: 基于Heron自适应调整的流处理系统
Abstract近年来,大规模实时分析需求激增,并且已开发出大量流处理系统来支持此类应用。 即使遇到硬件和软件故障,这些系统也能够继续进行流处理。 然而,这些系统并未解决其Operator面临的一些关键挑战:手动,耗时且容易出错的调整各种配置旋钮以实现服务水平目标(SLO)以及SLO维护的任务。 面对突然的,不可预测的负载变化以及硬件或软件性能下降。在本文中,我们介绍了自适应调节流处理系统...原创 2019-09-17 11:08:55 · 1231 阅读 · 0 评论 -
一周一论文(翻译)——[VLDB 18] Chi:分布式流处理系统下可扩展的、可编程的控制计划模块
Abstract流处理工作负载和现代共享集群环境表现出高度的可变性和不可预测性。 结合大量参数空间和各种用户SLO,这使得现代流处理系统非常难以静态配置和调整。 为了解决这些问题,在本文中,我们研究了一种新颖的控制平面设计Chi,它支持连续监测和反馈,并支持动态重新配置。 Chi利用在数据平面通道中嵌入控制平面消息,为流处理系统实现低延迟和灵活的控制平面。Chi引入了新的反应式编程模型和设...原创 2019-09-16 15:57:50 · 991 阅读 · 0 评论 -
实时流处理系统容错机制(二):Apache Flink 基于State的异步容错机制
1. Introduce Apache Flink 提供了可以恢复数据流应用到一致状态的容错机制。确保在发生故障时,程序的每条记录只会作用于状态一次(exactly-once),当然也可以降级为至少一次(at-least-once)。 容错机制通过持续创建分布式数据流的快照来实现。对于状态占用空间小的流应用,这些快照非常轻量,可以高频率创建而对性能影响很小。流计...原创 2018-06-27 16:32:42 · 1488 阅读 · 2 评论 -
实时流处理系统容错机制(一):综述
实时流处理系统的最主要的特点就是数据是持续不断地到来的,这样的数据源通常都是无边界的。对于这种数据持续不断地,实时流处理系统必须被持续地部署到集群中去,并且持续地占用集群资源。但是在分布式环境下,Failure是随时都会发送的。比如说集群机器宕机,网络拥塞,数据丢失每时每刻都可能发生,并且这种Failure是不可避免的。实时流处理系统对于这种Failure必须采取一定的措施进行Fa...原创 2018-06-27 15:35:06 · 1610 阅读 · 0 评论 -
[ATC 17] StreamBox: 面向多核机器上的针对Records的无序到达的实时流处理系统
今天要讲的文章ATC 2017年的一篇文章,StreamBox: Modern Stream Processing on a Multicore Machine。本文主要想解决的问题就是:高速大量的实时流数据主要是由IOT、Data Centers、Humans产生,它需要快速实时流处理系统。然而由于数据的到达是无序的,因为这些记录通过不同的网络路径传播,并且records上的计算...原创 2018-06-19 14:45:00 · 927 阅读 · 0 评论 -
Apache Storm 实时流处理系统ACK机制以及源码分析
1.ACK机制简介 Storm的可靠性是指Storm会告知用户每一个消息单元是否在一个指定的时间(timeout)内被完全处理。完全处理的意思是该MessageId绑定的源Tuple以及由该源Tuple衍生的所有Tuple都经过了Topology中每一个应该到达的Bolt的处理。注: timetout 可以通过Config.TOPOLOGY_MESSAGE_TIMEOUT_SECS ...原创 2018-06-26 09:53:04 · 1757 阅读 · 0 评论 -
Apache Storm 实时流处理系统通信机制源码分析
我们今天就来仔细研究一下Apache Storm的通信机制。下面我将从大致思想以及源码分析,然后我们细致分析实时流处理系统中源码通信机制研究。1. 简介 Worker间的通信经常需要通过网络跨节点进行,Storm使用ZeroMQ或Netty(0.9以后默认使用)作为进程间通信的消息框架。Worker进程内部通信:不同worker的thread通信使用LMAX Disr...原创 2018-06-25 17:54:38 · 1100 阅读 · 0 评论 -
Twitter Heron 实时流处理系统简介
Twitter Heron是Twitter公司开源的一个实时的、容错的、分布式的流数据处理系统。Heron是Apache Storm的直接继承者。它继承了Apache Storm的实时性、容错、低延迟的特性。并且它保留了Apache Storm的Topology API,使用者可以直接将Apache Storm上构建的Topology项目,直接转移到Apache Storm中运行而...原创 2018-06-05 17:35:57 · 1126 阅读 · 0 评论 -
Apache Flink 简介和编程模型
Apache Flink是一个同时支持分布式数据流处理和数据批处理的大数据处理系统。 Flink可以表达和执行许多类别的数据处理应用程序,包括实时数据分析,连续数据管道,历史数据处理(批处理)和迭代算法(机器学习,图表分析)以及容错的数据流。1. 简介实时流处理系统(Stream Processing System)和历史数据处理(Batch Processing System)传统上被认为是两个...原创 2018-06-05 15:18:22 · 7753 阅读 · 0 评论 -
一周一论文(翻译)——[VLDB 19] Minimizing Cost by Reducing Scaling Operators in Distributed Stream Processing
Abstract弹性分布式流处理系统能够动态地适应工作负载的变化。通常,这些系统通过向上或向下扩展来对输入数据的速率或资源利用水平做出反应。目标是优化系统的资源使用,从而降低其运营成本。但是,这种扩展操作会自行消耗资源,从而为每个扩展操作引入一定的资源使用开销,从而降低成本。此外,由扩展操作引起的迁移不可避免地导致简短的处理差距。因此,应避免过多的扩展操作。 我们通过防止不必要...原创 2019-09-19 10:54:22 · 1016 阅读 · 1 评论