1. 初识实时流处理
1.1. 业务现状分析
统计主站每个(指定)课程访问的客户、地域信息分布
地域:ip转换
客户端:useragent获取
如上两个操作:采用离线(Spark/MapReduce)的方式进行统计
实现步骤
课程编号、IP信息、useragent
进行相应的统计分析操作:MapReduce/Spark
项目架构
日志收集:Flume
离线分析:MapReduce/Spark
统计结果图形化展示
问题
1小时级别
10分钟
5分钟
1分钟
秒级别
基于Hadoop的实现方案
存在的问题?
如何解决????===> 实时流处理框架
1.2. 业务现状分析
实时流处理产生背景
时效性高
数据量大
实时流处理概述
实时计算
流式计算
实时流式计算
离线计算与实时计算对比
- 数据来源
离线:HDFS 历史数据 数据量比较大
实时:消息队列(Kafka),实时新增/修改记录过来的某一笔数据
- 处理过程
离线:MapReduce:map + reduce
实时:Spark(DStream/SS)
- 处理速度
离线:慢
实时:快速
- 进程
离线:启动+销毁
实时:7*24
实时流处理框架对比
- Apache Storm
- Apache Spark Streaming
微批处理框架 - IBM Stream
- Yahoo! S4
- Linkin Kafka
- Flink
实时流处理架构与技术选型
实时流处理在企业中的应用
电信行业
短信发布用户流量使用情况,通话计费等场景(需要实时,流式处理)。 流量陷阱监控软件,实时流式监控流氓流量盗取软件。
电商行业
电商平台中的实时推荐系统,根据用户目前正在访问的资料,实时推荐相关产品链接,或者推广方案。