Storm学习笔记(一)-- 实时流式计算概述

一、实时流式计算概述

下面主要通过如下4个问题来阐述什么是实时流式计算:
1.什么是实时流式计算?

  • 实时计算:响应时间受到时间约束的计算
    • 时间约束往往很短,已秒、毫秒为单位
    • 软实时 vs. 硬实时
  • 流式计算:在不断产⽣的数据流上的计算
    • 数据流不断产⽣,没有尽头,计算结果也不断产⽣/更新(对应Storm的Spout)
    • 数据流由基本数据单元组成,计算基于基本数据单元处理(对应Storm的Tuple)
  • 实时流式计算:在不断产⽣的数据流上的实时计算
    • 输⼊数据流是不断产⽣,没有尽头的
    • 计算结果的产⽣时间相对数据的流⼊时间是实时的

2.⼤数据背景下有哪些特点?

  • 流式处理:数据不断流⼊流出,与批处理相对
    • 动态刷新的PV曲线 vs. 每⽇PV统计报表
  • 时效性⾼:很快得到结果
    • 快是相对的,相对业务需求⾜够快,相对其他技术⾜够快
  • ⾼吞吐:应对⼤量的流量单机往往搞不定
  • 容错性:需要对⺴络、机器、进程各种异常提供容错机制
  • 灵活性:能快速根据需求增减处理逻辑

3.适合什么样的业务场景?

  • 实时流式数据分析
    • 如实时统计,实时预警
  • 实时ETL
    • 如实时⽇志过滤、标准化
  • 持续计算
    • 如新闻⾃动发现分析

4.有哪些关键技术点?

  • 系统架构
  • 延迟吞吐
  • 编程模型
  • 数据传输
  • 高可用性
  • 可维护性

在大数据邻域我们常用的实时计算框架如下所示:

常见系统 架构 编程模型 数据传输 高可用性 可维护性
Spark Streaming Spark RDD shuffle WAL
Storm nimbus
supervisor
worker
DAG
Spout
Bolt
zmq/netty 异常处理
消息可靠性
保证机制

spark streaming 与 storm 的对比 https://xiaozhuanlan.com/topic/2786031945
Storm与SparkStreaming的区别?https://blog.csdn.net/mr2zhang/article/details/80354313
Storm与Spark Streaming比较 https://www.jdon.com/46591

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