您的位置:首页 > 其它

流式计算产品对比(Storm、Trident、Spark Streaming、Flink)

2016-04-10 17:01 579 查看
产品模型API保证次数容错机制状态管理延时吞吐量成熟度
StromNative组合式At-least-onceRecord ACKsVery LowLowHigh
Tridentmirco-batching组合式Exectly-onceRecord ACKs基于操作的状态管理LowLowHigh
Spark streamingmirco-batching声明式Exectly-onceRDD Checkpoint基于DDStream的状态管理LowLowHigh
FlinkNative组合式Exectly-onceCheckpoint基于操作的状态管理LowHighLow

1. 模型 Streaming Model

Naitve:数据进入立即处理;

Micro-Batch:数据流入后,先划分成Micro-Batch,再处理;

2. API 形式

组合式:操作更加基础的API操作,一步步精细控制,各组建组合定义成拓扑;

声明式:提供封装后的高阶函数。封装后可提供初步的优化;可提供窗口管理、状态管理等高级操作;

3. 保证机制

At-least-once,至少一次,出错情况下需要执行多次;

Exectly-once,一次执行,保证OK;

4. 容错机制

Record ACKs,每Tuple处理后经过ACK确认;

RDD Checkpoint,基于RDD做Checkpoint。只需要重新计算特定RDD;

Checkpoint:Flink的checkpoint,是一种快照(待补充详细介绍)

5. 状态管理

基于操作的状态管理:每次操作有一个状态;

基于数据的状态管理:每个数据有相应的处理状态;

6. 延时&吞吐量

怎么样制定测试方案?

7. 成熟度

产品成熟度,基于Flink已经在2016.3分布1.0版本,怎么界定成熟度?

8. 后记

Twitter后期开发的Heron,能否加入比对阵营。

有个不错的翻译文档:http://developer.51cto.com/art/201603/507444.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: