Kafka项目实战-用户日志上报实时统计之编码实践

1.概述

  本课程的视频教程地址:《Kafka实战项目之编码实践html

   该课程我以用户实时上报日志案例为基础,带着你们去完成各个KPI的编码工做,实现生产模块、消费模块,数据持久化,以及应用调度等工做, 经过对这一系列流程的演示,让你们可以去掌握Kafka项目的相关编码以及调度流程。下面,咱们首先来预览本课程所包含的课时,他们分别有:服务器

  接下来,咱们开始第一课时的学习:《数据生产实现分布式

2.内容

2.1 数据生产实现

  本课时主要给你们演示Kafka数据生产的代码实现,在前面搭建好的集群环境下,完成Kafka的数据生产功能,以及一些注意事项,为咱们编写
消费代码作好准备,让你们掌握Kafka的数据生产的代码实现。学习

  实践本课时的内容,咱们须要设计到两个知识点,他们分别是:编码

  接着,咱们先从一个知识点来开始实践,实践数据生产模块所包含的内容,有如下几点:spa

  首先第一点是:对项目工程的文件进行配置(pom) 而后是对集群的连接信息进行配置(这里为何要将这些连接信息配置在配置文件当中,缘由是,这些连接信息单独剥离到一个配置文件,便于咱们后期维护, 好比:后期添加新的节点信息,或是移除一个已损坏的节点信息,咱们能够轻松,快速的在配置文件中修改节点信息便可,无需在去操做咱们的业务代码。)具体演示细节请你们参考视频操做。设计

  在演示完数据生成模块相关内容后,下面,我带着你们去实践Flume到Kafka模块的相关内容,以下所示:调试

  以上就是本课时的相关内容演示,其中包含了相关信息的配置,数据的收集过程演示等。日志

2.2 数据消费实现

  本课时给你们演示 Kafka 数据消费的代码实现,在前面咱们建立的 Kafka 的项目工程的基础上,完成消费代码的编写, 以及编写 Storm 代码消费 Kafka 数据的须要注意的细节,经过本课时让你们可以掌握数据消费的代码实现。orm

  那么,接下来我给你们列出本课时所涉及的核心知识点,以下所示:

  下面,咱们开始第一个核心知识点的实践,实践的所包含的内容以下所示:

  1. Storm集群的信息配置:这部份内容包含集群的依赖连接信息。
  2. 依赖文件的选取:这里咱们这编写Java代码实现相关功能时,须要选取依赖的JAR包来辅助咱们完成编码工做。

  接下来我带这你们看看,如何编码实现这一部份内容,即:实现Kafka到Storm模块的 内容实现,该部分涉及的内容以下所示:

  具体的演示细节,你们能够参考视频操做,观看地址:《数据消费实现

2.3 数据持久化

  内容涉及给你们,介绍如何将消费后的数据(即咱们统计的kpi结果)持久化,在前面数据消费实现的基础上,经过流式计算将统计的结果持久化到 Redis 集群或是 DB 中,让你们掌握数据持久化的代码实现。

  那么,接下来,咱们去看看本课时所涉及的核心知识点,以下所示:

  下面,咱们开始第一个知识点的实践,实现基础层代码模块所包含的内容,以下所示:

  1. 实现思路:先实现这部分功能以前,咱们要清楚它的一个实现思路,如右图所示: 这里,咱们在Storm的计算模块中,将相应的KPI统计以后,作对应的持久化,这里咱们能够选择 持久化到咱们所选择的DB库当中,图中咱们持久化到Redis和MySQL当中,那么接下来,咱们按照这个思路 去实现。
  2. 在实现以前,首先咱们须要准备好DAO层的代码,这层代码的做用是与DB交互。
  3. 接下来,我去给你们演示这一部份内容。

  下面,咱们去实现Storm统计结果存储到DB的相关内容,还模块包含以下所示的内容:

 

  1. 实现思路:一样,在实现这一部分功能时,咱们也要清楚,在什么地方去持久化咱们统计的结果。如右图所示: 咱们在Bolt当中,当咱们的KPI指标统计完成后,就能够调用相应的存储代码去持久化这部分统计结果。
  2. 在清楚了思路以后,咱们去实现这一部分的入库流程。
  3. 下面我去给你们演示这一部份内容。

  具体演示细节,你们能够参考视频操做,观看地址:《数据持久化

2.4 应用调度

  该部份内容将给你们介绍将开发好的应用打包部署到服务器,经过提交 Topology 到 Storm 集群, 完成 Storm 消费的程序的部署,让你们掌握项目的打包部署以及调度流程。下面,咱们去看看实践本课时的内容,所涉及那些核心知识点,以下所示:

  接下来,咱们开始对第一个知识点的实践。关于打包所包含的内容,以下所示:

  1. 首先是打包的方式流程,以下图所示:
  2. 使用Maven打包,本项目工程所采起的是Maven结构,这里咱们使用Maven命令打包对应的工程。
  3. 下面,我去给你们演示这一部份内容

  下面咱们去实践如何将咱们打包好的应用部署到Storm集群,去跑相应的任务。 实现该模块所包含的内容,以下所示:

  1. 实现思路。以下图所示:这里咱们要清楚它的各个阶段的职责,咱们在开发阶段,为了开发的便利以及调试的方便, 咱们可使用本地提交,就像前面,咱们给你们演示的,直接在IDE当中,提交相应的Topology便可。而早生产环境下, 咱们须要依赖集群,利用分布式的思想去跑咱们的任务,因此,咱们须要使用集群提交,这里在提交任务时,确保Storm 集群是运行正常的。
  2. 那么接着的内容就是去实现相应的提交流程。
  3. 下面,我去给你们演示这一部份内容。

  具体演示细节,你们能够参考视频操做,观看地址:《应用调度

3.总结

  本课程咱们对项目的指标进行了编码实践,并指导你们去编码实现了相应的模块功能,以及帮助你们去提交咱们开发的应用等知识,应该掌握一下知识:

4.结束语

  咱们在有了这些知识做为基础会使得咱们在从此的工做当中,开发相似实时统计项目变得游刃有余,更加的驾轻就熟。

  若是本教程能帮助到您,但愿您能点击进去观看一下,谢谢您的支持!

  转载请注明出处,谢谢合做!

  本课程的视频教程地址:《Kafka实战项目之编码实践

相关文章
相关标签/搜索