为什么要引入计算框架
主要是应对日益增长的大量数据,对实时性要求高,而且存在越来越多的数据需求。
这节主要从以下几点来展开
- 数据实时采集,计算,下发需求
- 实时计算场景
- 实时计算和离线计算
- flink有哪些优点
- 使用flink会带来哪些挑战
数据实时采集
我们常见的实时数据采集任务包括
- 用户下的订单
- 访问记录
- 软件系统的日志
- 机器运行指标cpu,io,等等
数据实时计算
- 计算订单总额
- 计算浏览量,订单品牌销售额等TOP值
- 计算pv,uv
- 计算一段时间内机器cpu、mem、io等值
- 计算各种指标
数据下发
-
报警
比如一些错误日志触发多少次,可以通过邮箱微信短信电话等报警。或者cpu、mem、io到了预定阈值触发报警
-
存储
计算好的一些指标可以存储到数据库,redis,mq等等中,存储或者供其他业务场景消费使用。
主要场景分类
-
事件驱动型应用
- 风控
- 预警
- 通知
-
数据分析型应用
- 报表
- 指标
-
数据管道型应用 (ETL)
- 数据采集提取
- 数据转换
- 数据分发
实时计算和离线计算
-
实时计算
- 数据实时性
- 数据到达时间顺序独立
- 大量数据,数据无界
- 重复计算消耗资源大
-
离线计算
- 大量数据,计算时间长
- 计算操作复杂
- 数据固定可重复操作
- 方便查询计算结果
优点以及面临问题
-
优点
- 高吞吐、低延迟、高性能兼具实时流式计算框架
-
问题
- 如果保证数据只处理一次?
- 如果保证数据及时性,计算结果准确性?
- 如果扩容缩容?
- 如果高可用?