《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方法,该方法会在初始化类之前被调用:
image

Step02 接下来创建setup方法中所有被调用的初始化方法,我们先来初始化嵌入式版本的Cassandra:
image
image

Step03 然后初始化本地嵌入式Elastic Search实例:
image

Step04 最后,初始化需要测试的Topology:
image

Step05 这样我们就准备好了所有测试Topology所需的工具。另外,我们还需要在测试结束时销毁这些对象和结构体,在测试套件中增加一个AfterClass方法:
image

Step06 然后实现好测试用例就可以大功告成了:

image

2.7.2 解析

该测试用例通过创建嵌入式Topology集群实例来实现集成测试功能,其中两个实例分别叫做Cassandra和Elastic Search。然后我们所做的工作就与之前的集成测试一样,将测试数据添加到输入通道,通过Topology来处理这些日志记录,并验证搜索引擎中的记录,以及计数器自增状态正确与否。
该测试相比普通的单元测来说需要花费更多时间,因此不应该将它们包含到你的标准Maven构建当中。但这个测试有必要作为你在本地开发工作过程当中的重要一环,并在持续集成服务器上进一步进行验证。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
|
XML 开发框架 .NET
ASP.NET COR3.1 集成日志插件NLog
ASP.NET COR3.1 集成日志插件NLog
34 0
|
3月前
|
存储 Go
Go 浅析主流日志库:从设计层学习如何集成日志轮转与切割功能
本文将探讨几个热门的 go 日志库如 logrus、zap 和官网的 slog,我将分析这些库的的关键设计元素,探讨它们是如何支持日志轮转与切割功能的配置。
100 0
Go 浅析主流日志库:从设计层学习如何集成日志轮转与切割功能
|
17天前
|
Kubernetes Linux Windows
kubectl 本地远程链接k8s多个集群,远程管控多集群,查看日志 部署服务(windows版)
kubectl 本地远程链接k8s多个集群,远程管控多集群,查看日志 部署服务(windows版)
227 0
|
4月前
|
Kubernetes Shell Linux
linux|shell脚本|有趣的知识---格式化输出日志和脚本调试方法以及kubernetes集群核心服务重启和集群证书备份脚本
linux|shell脚本|有趣的知识---格式化输出日志和脚本调试方法以及kubernetes集群核心服务重启和集群证书备份脚本
60 0
|
1月前
|
Prometheus 监控 Kubernetes
Kubernetes 集群监控与日志管理实践
【2月更文挑战第29天】 在微服务架构日益普及的当下,Kubernetes 已成为容器编排的事实标准。然而,随着集群规模的扩大和业务复杂度的提升,有效的监控和日志管理变得至关重要。本文将探讨构建高效 Kubernetes 集群监控系统的策略,以及实施日志聚合和分析的最佳实践。通过引入如 Prometheus 和 Fluentd 等开源工具,我们旨在为运维专家提供一套完整的解决方案,以保障系统的稳定性和可靠性。
|
3月前
|
消息中间件 数据可视化 关系型数据库
ELK7.x日志系统搭建 4. 结合kafka集群完成日志系统
ELK7.x日志系统搭建 4. 结合kafka集群完成日志系统
151 0
|
1月前
|
Prometheus 监控 Kubernetes
Kubernetes 集群的监控与日志管理实践
【2月更文挑战第31天】 在微服务架构日益普及的今天,容器编排工具如Kubernetes已成为部署、管理和扩展容器化应用的关键平台。然而,随着集群规模的扩大和业务复杂性的增加,如何有效监控集群状态、及时响应系统异常,以及管理海量日志信息成为了运维人员面临的重要挑战。本文将深入探讨 Kubernetes 集群监控的最佳实践和日志管理的高效策略,旨在为运维团队提供一套系统的解决思路和操作指南。
27 0
|
1月前
|
分布式计算 资源调度 Hadoop
Hadoop集群基本测试
Hadoop集群基本测试
26 0
|
4月前
|
Java
SpringBoot:第二篇 集成日志lombok
SpringBoot:第二篇 集成日志lombok
40 0
|
4月前
|
NoSQL 测试技术 Redis
Redis【性能 02】Redis-5.0.14伪集群和Docker集群搭建及延迟和性能测试(均无法提升性能)
Redis【性能 02】Redis-5.0.14伪集群和Docker集群搭建及延迟和性能测试(均无法提升性能)
151 0

热门文章

最新文章