1.概述

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

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

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

2.内容

2.1 数据生产实现

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

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

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

  首先第一点是:对项目工程的文件进行配置(pom) 然后是对集群的链接信息进行配置(这里为什么要将这些链接信息配置在配置文件当中,原因是,这些链接信息单独剥离到一个配置文件,便于我们后期维护, 比如:后期添加新的节点信息,或是移除一个已损坏的节点信息,我们可以轻松,快速的在配置文件中修改节点信息即可,无需在去操作我们的业务代码。)具体演示细节请大家参考视频操作。

  在演示完数据生成模块相关内容后,下面,我带着大家去实践Flume到Kafka模块的相关内容,如下所示:

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

2.2 数据消费实现

  本课时给大家演示 Kafka 数据消费的代码实现,在前面我们创建的 Kafka 的项目工程的基础上,完成消费代码的编写, 以及编写 Storm 代码消费 Kafka 数据的需要注意的细节,通过本课时让大家能够掌握数据消费的代码实现。

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

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

  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实战项目之编码实践

Kafka项目实战-用户日志上报实时统计之编码实践的更多相关文章

  1. 七、Kafka 用户日志上报实时统计之编码实践

    一.数据生产实现 1.配置数据生产模块 项目基础配置所包含的内容,如下所示: •项目工程的文件配置 •集群连接信息配置 •开发演示 2.实现 Flume 到 Kafka 模块 实现 Flume 到 K ...

  2. Kafka项目实战-用户日志上报实时统计之应用概述

    1.概述 本课程的视频教程地址:<Kafka实战项目之应用概述> 本课程是通过一个用户实时上报日志来展开的,通过介绍 Kafka 的业务和应用场景,并带着大家搭建本 Kafka 项目的实战 ...

  3. Kafka项目实战-用户日志上报实时统计之分析与设计

    1.概述 本课程的视频教程地址:<Kafka实战项目之分析与设计>  本课程我通过一个用户实时上报日志案例作为基础,带着大家去分析Kafka这样一个项目的各个环节,从而对项目的整体设计做比 ...

  4. 六、Kafka 用户日志上报实时统计之分析与设计

    一.项目整体概述 简述项目的背景 背景:用户行迹企业运营 分析项目的目的 通过对项目的分析,可以初步得到以下目的: •实时掌握用户动态 •根据实时统计结果,适度推广 •统计分析效果,快速合理的调整 二 ...

  5. 五、Kafka 用户日志上报实时统计之 应用概述

    一.kafka 回顾 1.简介 Kafka 的业务 业务场景: 解除耦合 增加冗余 提高可扩展性 Buffering 异步通信 2.介绍 Kafka 的应用场景 Push Message Websit ...

  6. Hadoop项目实战-用户行为分析之编码实践

    1.概述 本课程的视频教程地址:<用户行为分析之编码实践> 本课程以用户行为分析案例为基础,带着大家去完成对各个KPI的编码工作,以及应用调度工作,让大家通过本课程掌握Hadoop项目的编 ...

  7. 快读《ASP.NET Core技术内幕与项目实战》WebApi3.1:WebApi最佳实践

    本节内容,涉及到6.1-6.6(P155-182),以WebApi说明为主.主要NuGet包:无 一.创建WebApi的最佳实践,综合了RPC和Restful两种风格的特点 1 //定义Person类 ...

  8. Kafka项目实践

    用户日志上报实时统计之编码实践 1.概述 本课程的视频教程地址:<Kafka实战项目之编码实践>  该课程我以用户实时上报日志案例为基础,带着大家去完成各个KPI的编码工作,实现生产模块. ...

  9. 【慕课网实战】Spark Streaming实时流处理项目实战笔记二之铭文升级版

    铭文一级: 第二章:初识实时流处理 需求:统计主站每个(指定)课程访问的客户端.地域信息分布 地域:ip转换 Spark SQL项目实战 客户端:useragent获取 Hadoop基础课程 ==&g ...

随机推荐

  1. 事件委托在ios下面失效

    $(document).on("click","目标class",function(){ //安卓下点击可以,ios下面失效 }) 百度了下说是H5新定义的, ...

  2. JS的事件流的概念(重点)

      09-JS的事件流的概念(重点)   在学习jQuery的事件之前,大家必须要对JS的事件有所了解.看下文 事件的概念 HTML中与javascript交互是通过事件驱动来实现的,例如鼠标点击事件 ...

  3. Jmeter获取redis数据

    背景:jmeter写注册登录接口时,需要获取验短信验证码,一般都是存在数据库,但我们的开发把验证码存到redis里面了 步骤:1.写个redis工具类 2.打成jar包,导入jmeter lib\ex ...

  4. Loadrunner登录判断

    loadrunner判断登录是否成功,以下方法可以解决:1.利用添加检查点web_reg_find函数的方法---------------------------- lr_start_transact ...

  5. 《JAVA程序设计》第四周总结

    第四周作业总结 学习内容: 1.根据教材视频学习第五章:子类和继承 2.调试代码和解决问题 3.上周错题 4.代码托管 知识总结 子类:在类的声明中,通过使用关键字extends来定义一个类的子类. ...

  6. 小程序css--view标签下英文不换行,中文会自动换行

    英文且没有空格不会自动换行,中文或者有空格的英文会自动换行 这种情况在css中添加 : word-break: break-all;\   就可以解决

  7. nc6 用业务插件注册来跑按钮事件

    在实际开发中,有些需求是要求系统单据,编辑或者触发其他按钮来回写其他模块单据 这时候就能用业务插件方式来触发其他模块的按钮事件,而不用去模块找对应的按钮编辑事件类 package hz.bs.hzct ...

  8. spring web参数传递

    spring boot 参数相关 ******************************************   @RequestParam 这个注解用来绑定单个请求数据,既可以是url中的 ...

  9. MYSQL性能查看(多指标)

    网上有很多的文章教怎么配置MySQL服务器,但考虑到服务器硬件配置的不同,具体应用的差别,那些文章的做法只能作为初步设置参考,我们需要根据自己的情况进行配置优化,好的做法是MySQL服务器稳定运行了一 ...

  10. ABP框架系列之十二:(Audit-Logging-审计日志)

    Introduction Wikipedia: "An audit trail (also called audit log) is a security-relevant chronolo ...