大数据组件之Storm简介

本文介绍了Storm实时计算框架的特点及应用场景,对比了其与MapReduce、Spark Streaming和Flink的区别。详细阐述了Storm的核心概念,包括拓扑、流、Spouts、Bolts和分组策略,以及其物理架构。

简介

Storm是一个开源的分布式实时计算框架。

特点

  • 支持水平横向扩展
  • 高容错性,通过ack机制每个消息都不丢失(好奇该特性如何实现
  • 处理速度快,每个节点每秒处理超过一百万个元组(tuples)

其他

  • 各编程语言支持友好
  • 支持本地模式
  • 支持图形化界面管理

与其他计算框架比较

  1. MapReduce(Hadoop家族组件):批处理,适合海量离线处理场景
  2. Spark Streaming:并非真正意义上的流处理,而是微批处理,对数据流进行极小粒度的拆分,近似达到流处理的效果(微分原理)
  3. Flink:实时计算框架
    storm flink
    状态管理 无状态 有状态
    窗口支持 对事件窗口支持较弱,缓存整个窗口的所有数据,窗口结束时一起计算 窗口支持较为完善,自带一些窗口聚合方法,
    并且会自动管理窗口状态
    消息投递 At Most Once
    At Least Once
    At Most Once
    At Least Once
    Exactly Once
    容错方式 ACK 机制:对每个消息进行全链路跟踪,失败或者超时时候进行重发 检查点机制:通过分布式一致性快照机制,
    对数据流和算子状态进行保存。在发生错误时,使系统能够进行回滚。

    注 : 对于消息投递,一般有以下三种方案:

    • At Most Once : 保证每个消息会被投递 0 次或者 1 次,在这种机制下消息很有可能会丢失;
    • At Least Once : 保证了每个消息会被默认投递多次,至少保证有一次被成功接收,信息可能有重复,但是不会丢失;
    • Exactly Once : 每个消息对于接收者而言正好被接收一次,保证即不会丢失也不会重复。

流处理与批处理

  • 静态数据处理:即批处理,数据通常存储在数据库或文件系统中,应用程序更具需要查询或
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值