实时计算及其框架

什么是实时流(streaming)数据?

用户在浏览网页或操作App时,其操作行为会源源不断地汇集成日志。游戏玩家在玩游戏的时候,也会产生源源不断的操作记录。这些持续生成的数据便是实时流数据。

  • 数据流是连续到达无穷序列。流处理将不断流动的输入数据分成独立的单元进行处理。
  • 流处理是对流数据的低延迟处理和分析
  • 在实时流式计算中,最重要的是在任何情况下,消息不重复、不丢失,即Exactly-once
  • 实时 秒级 明细 聚合
  • 实时处理用例包括:
    • 网站监控,网络监控
    • 欺诈识别
    • 网页点击
    • 广告
    • 物联网传感器
  • 2015 年是流计算百花齐放的时代,各个流计算框架层出不穷。Storm, JStorm, Heron, Flink, Spark Streaming, Google Dataflow (后来的 Beam) 等

流计算较批量计算的优势在哪里?

批量计算需要收集齐数据,才开始进行各种复杂计算,周期可能是几个小时到1天;流计算则是针对流数据处理,无需收集齐数据,近乎实时地对数据进行处理,有利于实时监控业务和发现新机会。流式计算框架实现了高吞吐,低延时,高性能兼具流式计算模式。

流计算性能指标

吞吐量(Throughput)

  • 单位时间内由计算框架成功地传送数据的数量,本次测试吞吐量的单位为:条/秒。
  • 反映了系统的负载能力,在相应的资源条件下,单位时间内系统能处理多少数据。
  • 吞吐量常用于资源规划,同时也用于协助分析系统性能瓶颈,从而进行相应的资源调整以保证系统能达到用户所要求的处理能力。假设商家每小时能做二十份午餐(吞吐量 20 份/小时),一个外卖小哥每小时只能送两份(吞吐量 2 份/小时),这个系统的瓶颈就在小哥配送这个环节,可以给该商家安排十个外卖小哥配送。

延迟(Latency)

  • 数据从进入系统到流出系统所用的时间,本次测试延迟的单位为:毫秒。
  • 反映了系统处理的实时性。
  • 金融交易分析等大量实时计算业务对延迟有较高要求,延迟越低,数据实时性越强。
  • 假设商家做一份午餐需要 5 分钟,小哥配送需要 25 分钟,这个流程中用户感受到了 30 分钟的延迟。如果更换配送方案后延迟变成了 60 分钟,等送到了饭菜都凉了,这个新的方案就是无法接受的。


亚秒

实时数据统计架构

在这里插入图片描述

实时计算框架对比

  • https://juejin.im/post/5bc934d05188255c832142b3
  • 后诞生的软件比先前存在的软件设计更为合理也是情理之中
  • 所以在较粗时间粒度极限吞吐量上spark streaming要优于flink
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

流计算问答

  • storm相对于flink,spark streamming的优缺点
  • storm中如何实现窗口内的聚合操作
  • flink中的window实现机制
  • flink中状态的保存与实现机制
  • storm中如何处理反压问题,flink中如何处理反压问题
  • storm中如何动态地调整并行度
  • eventTme和processTime的相关概念
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值