《Storm实时数据处理》一2.7 为日志流集群创建集成测试
本节书摘来华章计算机《Storm实时数据处理》一书中的第2章 ,第2.7节,(澳)Quinton Anderson 著 卢誉声 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2.7 为日志流集群创建集成测试在交付过程中,集成测试扮演着非常重要的角色。集成测试的类型有很多。通常来说,单元集成测试和Topology集成测试不仅是持续集成构建周期的组成部分,还是对部署集群集成测试的必要功能性风格的补充。我们在这里展示的集成测试方法本质上和第1章中的集成测试方法没什么区别,但这里却复杂很多,所以有必要多作些解释。
2.7.1 实战我们先来创建单元测试。
Step01 使用Eclipse,在项目的单元测试源代码目录中的storm.cookbook.log包里创建一个名为IntegrationTestTopology的JUnit 4单元测试用例。添加一个setup方法,该方法会在初始化类之前被调用:
Step02 接下来创建setup方法中所有被调用的初始化方法,我们先来初始化嵌入式版本的Cassandra:
Step03 然后初始化本地嵌入式Elastic Search实例:
Step04 最后,初始化需要测试的Topology:
Step05 这样我们就准备好了所有测试Topology所需的工具。另外,我们还需要在测试结束时销毁这些对象和结构体,在测试套件中增加一个AfterClass方法:
Step06 然后实现好测试用例就可以大功告成了:
该测试用例通过创建嵌入式Topology集群实例来实现集成测试功能,其中两个实例分别叫做Cassandra和Elastic Search。然后我们所做的工作就与之前的集成测试一样,将测试数据添加到输入通道,通过Topology来处理这些日志记录,并验证搜索引擎中的记录,以及计数器自增状态正确与否。
该测试相比普通的单元测来说需要花费更多时间,因此不应该将它们包含到你的标准Maven构建当中。但这个测试有必要作为你在本地开发工作过程当中的重要一环,并在持续集成服务器上进一步进行验证。
(3)sparkstreaming从kafka接入实时数据流最终实现数据可视化展示 1)我们通过kafka与各个业务系统的数据对接,将各系统中的数据实时接到kafka; 2)通过sparkstreaming接入kafka数据流,定义时间窗口和计算窗口大小,业务计算逻辑处理; 3)将结果数据写入到mysql; 4)通过可视化平台接入mysql数据库,这里使用的是NBI大数据可视化构建平台; 5)在平台上通过拖拽式构建各种数据应用,数据展示;
多模式日志数据流的实时加工与集散 日志处理是一个极其繁琐的过程,究其原因是日志的边界情况特别多,而且可能随时在变。阿里云 SLS 数据加工服务是专门针对日志规整、富化、集散等处理场景。本文主要介绍在多模式混杂的日志集散场景下,如何快速使用 SLS 数据加工服务完成需求。
相关文章
- PhpStorm 集成 开源中国(oschina.net)的Git项目,提交SVN时注意事项
- 使用Android Studio搭建Android集成开发环境(图文教程)
- 行业实践:RocketMQ 业务集成典型行业应用和实践
- 秒云获得阿里云首批产品生态集成认证,携手阿里云共建云原生智能运维生态服务
- Server-UFTP与Windows用户组集成
- spring boot2X集成spring cloud config
- Hudi(10):Hudi集成Spark之并发控制
- springboot2.0 集成elasticsearch,实现检索、分页、排序
- CRM呼叫中心和社交媒体集成的UI错误信息显示机制
- Springboot怎么集成Thymeleaf模板引擎?
- 《Kotin 极简教程》第11章 使用Kotlin 集成 SpringBoot开发Web服务端