使用kafka造测试数据进行测试
文章目录
- 前言
- 作用和界面介绍
- 使用
- 小Tips
- 总结
前言
之前一直听说过kafka,但是一直没有机会接触到使用kafka的测试场景,最近终于让我逮到啦😏所以写这篇文章记录一下~
作用和界面介绍
Kafka 是一个高吞吐量、分布式、持久化的流数据平台。
作用:对于测试来说,主要作用就是某些场景造测试数据用。比如航空公司的航班数据,当发生航变时,某些后台管理系统需要实时监听,这些数据的推送就是由kafka推送的,后端实现实时监听就只需要监听kafka就行而不用扫库,这样做可降低数据库压力与轮询延迟。

界面介绍:
- Name:集群名称,这里的prod是生产,test是测试
- Broker Servers:该集群内当前配置或接入的 Broker 节点地址列表;Broker 是 Kafka 服务器进程实例(通常对应一台物理机或容器中的一个进程),负责存储消息、接收生产者写入、向消费者提供读取、执行副本复制、维护部分元数据。
- Delay Message:指生产者发送消息后,消费者不会立即消费,而是需要等待指定时间后才能被处理的消息。这种机制主要用于实现定时任务、状态延迟更新、重试策略等场景。(目前还没有用到)
- Topic:Kafka 中的主题数量。
- Consumer Group:kafka提供的可扩展且具有容错性的消费者机制。(目前还未用到)想要深入理解的👉Kafka系列4-基本概念及消费者组(Consumer Group)的理解
使用
- 问开发/同事把kafka地址和账号密码要过来。把需要监听的topic对应的字段要过来,最好是以excel文件的方式整理好

- 拉数据
找到想要修改的字段对应的topic,比如我想要变更某个航班是否快速过站的属性,其在kafka中对应的topic为:

去生产找对应的topic拉数据,复制key和value

点击🔍,搜索

点击Consume Message,查看该 topic中的历史消息。
Live :实时地从Kafka主题中拉取并处理消息
Alter:修改 topic 的运行时配置

点击Pull拉数据。随便选取一条数据,key为空就不用管,复制数据结构体。
工具栏中,Partition作用是选择要查看的 Topic 分区;Auto Offset Reset,中有两个选项分别是Newest和Earliest,就是字面意思从分区最新位置开始查看和从分区最早位置开始查看;Count是拉去信息的条数。key和value的作用就是精准查询了。

3. 推数据
实例:测试航班监控页,当出现航变时,能不能及时的更新数据
-
选择1183号航班,计飞时间为07:25

-
数据库查到此航班的信息

-
打开kafka,选择生产环境

-
查到计飞时间的Topic

-
搜索到该Topic,拉生产环境数据


-
去测试环境推数据





小Tips
- 怎么在kafka中找到根据一个字段查一条数据?
- 找到对应的topic
- 找到一条数据,记住他的一个唯一字段。如"FLIGHT_ID": 123456789
- 在value里输入值,点击回车即可

- 有些Topic名字很像,但是监听的其实是完全不同两个功能,注意甄别。
总结
去生产,找对应的topic 拉数据,复制key和value;然后去测试,复制key,修改value,推数据(key可能为空),后面不用管因为他自己会监听。
