本课程的视频教程地址:《Kafka实战项目之分析与设计》html
本课程我经过一个用户实时上报日志案例做为基础,带着你们去分析Kafka这样一个项目的各个环节,从而对项目的总体设计作比较合理的规划,最终让你们可以经过本课程去掌握相似Kafka项目的分析与设计。下面,我给你们介绍本课程包含的课时内容,以下图所示:前端
接下来,咱们开始第一课时的学习:《项目总体概述》。chrome
项目总体概述主要讲解一个项目产生的背景,以及该项目背后的目的,从而让你们更好的去把握项目的需求。服务器
本课时所涉及的主要知识点,以下图所示:架构
那么,接下来,我就先从背景来给你们简述一个项目,背景包含一下知识点,以下图所示:app
前面我已经给你们说明了,这是一个实时统计项目,咱们能够实时的访问记录, 经过实时流式计算后,获得用户实时的访问行迹。这个和离线计算有所区别,离线计算任务,不能立马获得咱们想要的结果。学习
那么,这样一个项目咱们能获得什么好处,举个例子:网站
业绩部门的同事须要知道当天的用户实时浏览行迹,而针对这一需求,咱们能够经过实时计算后,将统计后的结果 经过图表可视化出来,让业绩部门的同事能够很是清晰的知道,公司的用户对公司的那些业务模块赶兴趣,需求量比较大, 那么业绩部门的同事,能够这一块重点投入,对那些不是很赶兴趣,需求量较小的模块,业绩部门的同事能够投入的成本相对低一些。spa
以上即是我为你们介绍的项目背景,下面我给你们介绍项目的目的。设计
项目的目的所包含的内容,以下图所示:
关于详细的目的内容,这里我就很少作赘述了。《观看地址》
Producer模块分析一课给你们介绍数据生产环节,我带着你们去分析生产数据来源,让你们掌握数据如何收集到 Kafka 的 Producer 模块。
其主要知识点包含如下内容,以下所示:
下面,咱们先去分析数据来源。咱们知道,在日志记录中一条日志记录表明用户的一次活动形迹,下面我我从实时日志记录中抽取的一条用户记录,以下所示:
121.40.174.237 yx12345 [21/July/2015 13:25:45 +0000] chrome appid_5 "http://www.***.cn/sort/channel/2085.html"
那么经过观察分析这条记录,咱们能够从示例数据中获得那些信息量,这里我给你们总结到一张图上了,以下图所示:
在分析了日志记录的信息量,咱们接下来去看看是如何收集到这些数据的,整个收集数据的流程是怎么样的,下面我用一张图来给你们,以下图所示:
从图中,咱们能够看出,数据的产生的源头是用户,从图的左边开始看起,用户经过本身手上的终端(有多是: PC机,手机,pad等设备去访问公司的网站),而这里访问的记录都会被实时的记录到服务器,咱们在部署网站的的节点上添加 Flume的Agent代理,将这些实时记录集中收集起来,而后咱们在Flume的Sink组件处添加输送的目标地址,这里咱们是要将这些 实时的记录输送到Kafka集群的,因此在Sink组件处填写指向Kafka集群的信息,这样收集的实时记录就被存储在Kafka的 Producer端,而后,这部分数据咱们就能够在下一个阶段,也就是消费阶段去消费这些数据。
以上就是整个实时数据的采集过程,由用户产生,Flume收集并传输,最后存放与Kafka集群的Producer端等待被消费。
关于具体细节,这里就不赘述了。《观看地址》
该课时我给你们介绍数据消费环节,带着你们从消费的角度去分析消费的数据源,让你们掌握数据如何在Kafka中被消费。
其主要知识点包含如下内容,以下所示:
那么,下面我先带着你们去分析消费数据来源,关于消费数据来源的统计的KPI指标,以下图所示:
从图中,咱们能够看出,由如下KPI指标:
以上即是我给你们分析消费数据的相关信息所设计的内容。
接下来,我带着你们去看看本课时的另外一个比较重要的知识点,那就是关于数据源的消费流程。这里,我用一张图来给你们描述了整个消费过程,以下图所示:
咱们先从图的最左边看起,这个是Kafka的集群,在这个集群中,存放着咱们即将要被消费的数据,这里,咱们经过KafkaSpout 将Kafka和Storm联系起来,将Kafka集群中要消费的数据,经过KafkaSpout输送到Storm集群,而后数据进入到Storm集群后, 经过Storm的实时计算模型,按照业务指标作对应的计算,并将计算以后的结果持久化到DB库当中去,这里同时采用MySQL和Redis 来作持久化。
以上,即是我给你们描述的如何去消费Kafka集群中数据的流程。《观看地址》
该课时我给你们介绍设计一个项目的总体架构和流程开发,以及 KPI 的设计,让你们可以经过本课时去掌握一个项目的设计流程。
其主要知识点包含如下内容,以下所示:
下面,我先给你们去分析本项目的详细设计流程,这里我绘制了一张图来描述整个项目设计流程的相关信息,以下图所示:
从图的最左边开始,依次是:
以上,即是我给你们介绍本项目的整个流程设计的相关内容。关于其余的细节内容,这里就很少赘述了。《观看地址》
本课程咱们对项目进行了总体分析,并指导你们去分析 Kafka 的 Producer 模块和 Consumer 模块,以及帮助你们去设计项目的开发流程等知识,咱们应该掌握如下知识点,以下图所示:
这就是本课程的主要内容,主要就对 Kafka 项目作前期准备,对后续学习 Kafka 项目实战内容奠基良好的基础。
若是本教程能帮助到您,但愿您能点击进去观看一下,谢谢您的支持!
转载请注明出处,谢谢合做!
本课程的视频教程地址:《Kafka实战项目之分析与设计》