为什么要引入计算框架

134 阅读2分钟

为什么要引入计算框架

主要是应对日益增长的大量数据,对实时性要求高,而且存在越来越多的数据需求。

这节主要从以下几点来展开

  • 数据实时采集,计算,下发需求
  • 实时计算场景
  • 实时计算和离线计算
  • flink有哪些优点
  • 使用flink会带来哪些挑战

数据实时采集

我们常见的实时数据采集任务包括

  • 用户下的订单
  • 访问记录
  • 软件系统的日志
  • 机器运行指标cpu,io,等等

数据实时计算

  • 计算订单总额
  • 计算浏览量,订单品牌销售额等TOP值
  • 计算pv,uv
  • 计算一段时间内机器cpu、mem、io等值
  • 计算各种指标

数据下发

  • 报警

    比如一些错误日志触发多少次,可以通过邮箱微信短信电话等报警。或者cpu、mem、io到了预定阈值触发报警

  • 存储

    计算好的一些指标可以存储到数据库,redis,mq等等中,存储或者供其他业务场景消费使用。

主要场景分类

  • 事件驱动型应用

    • 风控
    • 预警
    • 通知
  • 数据分析型应用

    • 报表
    • 指标
  • 数据管道型应用 (ETL)

    • 数据采集提取
    • 数据转换
    • 数据分发

实时计算和离线计算

  • 实时计算

    • 数据实时性
    • 数据到达时间顺序独立
    • 大量数据,数据无界
    • 重复计算消耗资源大
  • 离线计算

    • 大量数据,计算时间长
    • 计算操作复杂
    • 数据固定可重复操作
    • 方便查询计算结果

优点以及面临问题

  • 优点

    • 高吞吐、低延迟、高性能兼具实时流式计算框架
  • 问题

    • 如果保证数据只处理一次?
    • 如果保证数据及时性,计算结果准确性?
    • 如果扩容缩容?
    • 如果高可用?