用户工具

站点工具


flink_应用场景

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
flink_应用场景 [2019/12/02 08:01]
plough 创建
flink_应用场景 [2019/12/08 12:40] (当前版本)
plough
行 1: 行 1:
-  * 实时大屏:销售额网站PV销量数据、服务器状态监控 +===== 实时计算场景 ===== 
-  * 程序出现错误日志时及时告警通知 +  - 实时数据存储。实时数据存储的时候做一些微聚合过滤某些字段、数据脱敏,组建数据仓库,实时 ETL。 
-  实时推荐 +  - 实时数据分析。实时数据接入机器学习框架(TensorFlow)或者一些算法进行数据建模、分析,然后动态的给出商品推荐、广告推荐 
-  * ……+  - 实时监控告警。金融相关涉及交易、实时风控、车流量预警、服务器监控告警、应用日志告警 
 +  实时数据报表。活动营销时销售额/销售量大屏,TopN 商品
  
-根本需求都是**实时查看数据信息**。+===== 实时计算技术实现 ===== 
 +涉及技术环节有:实时采集、实时计算、实时下发。 
 +实时下发的下游可能: 
 +  告警方式(邮件、短信、钉钉、微信) 
 +  存储(消息队列、DB、文件系统等)。监控大屏从存储里面询数据,就可以到实时数据。 
 + 
 +===== 批处理和流处理的区别 ===== 
 +批处理: 
 +  数据大小固定 
 +  复杂操作 
 +  * 需要一段时间 
 +流处理: 
 +  * 数据大小未知 
 +  * 简单操作 
 +  * 及时响应 
 + 
 +===== 实时计算 VS 离线计算 ===== 
 +实时计算需要不断的从 MQ 中读取采集的数据,然后处理计算后往 DB 里存储,在计算这层你无法感知到会有多少数据量过来、要做一些简单的操作(过滤、聚合等)、及时将数据下发 
 + 
 +传统的离线计算,从 DB(不限 MySQL,还有其他的存储介质)里面读取数据,该数据一般就是固定的(前一天、前一星期、前一个月),然后再做一些复杂的计算或者统计分析,最后生成可供直观查看的报表(dashboard)。 
 + 
 +==== 离线计算的特点 ==== 
 +  - 数据量大且时间周期长(一天、一星期、一个月、半年、一年) 
 +  - 在大量数据上进行复杂的批量运算 
 +  - 数据在计算之前已经固定,不再会发生变化 
 +  - 能够方便的查询批量计算的结果 
 + 
 +==== 实时计算的特点 ==== 
 +  - 数据实时到达 
 +  - 数据到达次序独立 
 +  - 数据规模大 & 无法预知容量 
 +  - 再次提取数据代价大 
 + 
 +==== 实时计算的优势 ==== 
 +对于持续生成最新数据的场景,才用流数据处理是非常有利的。 
 + 
 +===== 实时计算面临的挑战 ===== 
 +  - 数据处理唯一性(如何保证数据只处理一次?至少一次?最多一次?) 
 +  - 数据处理的及时性(采集的实时数据量太大的话可能会导致短时间内处理不过来,如何保证数据能够及时的处理,不出现数据堆积?) 
 +  - 数据处理层和存储层的可扩展性(如何根据采集的实时数据量的大小提供动态扩缩容?) 
 +  - 数据处理层和存储层的容错性(如何保证数据处理层和存储层高可用,出现故障时数据处理层和存储层服务依旧可用?)
flink_应用场景.1575273668.txt.gz · 最后更改: 2019/12/02 08:01 由 plough