流计算

1. 计算模式:

批处理模型

--一次处理全部数据(MapReduce、Spark)

--数据量太大存不下全部数据、数据到来太快来不及批处理

流计算模型

--数据不断以增量的方式流入系统并处理,改变系统状态并输出结果

--不需要对全部数据进行处理

 

2. 流计算

目标:实时性、可扩展性、容错、可编程性

 

一种实现:Worker + Queue

Worker:处理单元

Queue:缓冲(均衡) + 路由(分配)

--不易扩展、难容错、编码复杂

 

实例1:S4

--简单的流计算编程接口

--有限容错(非协调式检查点)

--实现了Actor模型

--PE:由PE的代码和配置文件定义

 

实例2:Storm

数据类型:Tuple

基本概念:stream、spout、bolt、topology

容错:消息的完整处理

 

对比:

编程模型:

--S4更简单

推、拉:

--S4推,如果缓冲区不够消息就会丢失

--Storm拉,丢失数据来自最初的数据输入

容错:

--S4不管消息丢失

--Storm保证消息被处理至少一次

你可能感兴趣的:(流计算)