作为一名程序员通病就是不安分,对业界的技术总要折腾一番,哪怕在最终实际工作中应用到的就那么一点。最近自己准备入门Storm学习,关于流式大数据框架目前比较流行的有Spark和Storm等,在入门之前,先对两种框架做个基本的对比,便于后期学习中更加深入的理解各自的应用场景以及优劣。关于Storm和Spark的对比主要从网络和书本搜索得到,基本比较如下:
对比方面 | Storm | Spark Streaming |
是否实时模型 | 纯实时 | 准实时 |
实时计算延时度 | 毫秒级 | 秒级 |
吞吐量 | 低 | 高 |
事务机制 | 支持且完善 | 支持,但不完善 |
健壮/容错 | 强 | 一般 |
动态调整并行度 | 支持 | 不支持 |
从上面的对比可以看出,Storm的使用场景适合对实时性要求高、延时度要求低、对事务机制要求保障的应用。但对比之下,Spark的优势则主要体现在一下两个方面:
1、吞吐量更大。
2、Spark生态技术栈中,Spark Streaming可以和Spark Core、Spark SQL无缝集成,提供了更加全面的整合应用。
具体应用体验,在学习完两个框架,并做实际对比后补充~~~