news 2026/5/30 17:42:29

字节面试:如何测试RocketMQ、RocketMQ?测试点有哪些?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
字节面试:如何测试RocketMQ、RocketMQ?测试点有哪些?

字节面试:RocketMQ是怎么测试的呢?

答:

  • 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性;

  • 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨)

01 先了解RocketMQ

作为测试也是要简单了解RocketMQ。简单来说,就是一个分布式发布-订阅消息中间件,底层基于队列模型来实现消息收发功能。

包含4个模块:Namesrv, Broker, Producer, Consumer。

  • Nameserver

    存储当前集群所有Brokers信息、Topic跟Broker的对应关系。

  • Broker

    集群最核心模块,主要负责Topic消息存储、消费者的消费位点管理(消费进度)。

  • Producer

    消息生产者,每个生产者都有一个ID(编号),多个生产者实例可以共用同一个ID。同一个ID下所有实例组成一个生产者集群。

  • Consumer

    消息消费者,每个订阅者也有一个ID(编号),多个消费者实例可以共用同一个ID。同一个ID下所有实例组成一个消费者集群。

NameServer:注册地址,替代Zookeeper,为什么不用zookeeper,自行百度。

Broker:单个服务,可以有多个RocketMQ在不同的地方

02 整理测试点

1、消费主流程是正常的

2、逆向用例与异常值处理

对于Produce和Consumer两端的异常消息处理,如消息某个参数为空,为异常的情况,在Produce发送错误信息后,消费端是否能够有效处理错误问题。需要对日志和数据库等方面进行查看。

3、消息丢失时的处理情况,(模拟网络等问题)

如因为网络原因导致的消息丢失,是否有补发,通常情况下Produce会设置补发。如果是落库到OS存储、硬盘存储过程中的问题,如何保证消费正常?

4、消息避免重复发送

由于RocketMQ天生就有消息重复发送的机制,所以当产生消息重新发送时,如何对此问题进行处理?通常情况下要对消费端的服务做幂等处理,保证消息不被重复消费。

5、性能相关问题,消费积压

主要就是性能测试,可以通过查看RocketMQ的控制台,来查看对应消费的TPS,来保证消费的及时性,看是否有消息产生阻塞消费,导致TPS骤降等问题。

6、消费的先后顺序以及消费阻塞问题

  • 与定时消息同原理,生产者生产消息时指定特定的 MessageQueue ,消费者消费消息时,消费特定的 MessageQueue,当然如果只有单个MessageQueue,则不会有消费顺序的问题。

  • 同一个 MessageQueue 保证里面的消息是顺序消费的前提是:消费者是串行的消费该 MessageQueue,因为就算 MessageQueue 是顺序的,但是当并行消费时,还是会有顺序问题

    但是串行消费也同时引入了两个问题:

    -a) 引入锁来实现串行

    -b) 前一个消费阻塞时后面都会被阻塞

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/30 17:10:46

WPS办公自动化新篇章:VBA插件7.1全面解析与实战指南

WPS办公自动化新篇章:VBA插件7.1全面解析与实战指南 【免费下载链接】最新版VBA插件7.1支持WPS 本仓库提供最新版VBA插件7.1的下载资源,该插件专为WPS设计,能够帮助用户在WPS中高效使用VBA功能 项目地址: https://gitcode.com/open-source-…

作者头像 李华
网站建设 2026/5/30 0:30:19

构建高性能量子计算容器的7个关键技术点(稀缺实战经验曝光)

第一章:量子计算容器化的核心挑战将量子计算与容器化技术结合,是推动量子应用工程化部署的关键路径。然而,由于量子计算本身的特殊性,其在容器化过程中面临诸多技术障碍,涉及资源管理、环境隔离和硬件交互等多个层面。…

作者头像 李华
网站建设 2026/5/30 16:04:34

测试资源分配的挑战与机遇

在软件测试领域,资源分配始终是项目成功的关键因素。传统方法依赖人工经验,往往面临测试环境、人力和时间资源的浪费,导致覆盖率不足或成本超支。随着人工智能和机器学习技术的兴起,智能优化为测试资源分配提供了新思路。本文旨在…

作者头像 李华
网站建设 2026/5/30 16:14:45

RPA 驱动自动化优先思维:打造高效组织的实践指南

在数字化转型深水区,“自动化优先” 正从前沿理念升级为企业主流管理思维。越来越多组织意识到,传统 “先标准化、后自动化” 的模式已难以适配快速变化的市场需求,而以自动化为核心重构业务流程,才能真正实现降本增效、敏捷应变。…

作者头像 李华
网站建设 2026/5/30 17:03:46

挥手点亮圣诞:AI 3D 魔法树教程

临近圣诞节,大家都在思考如何让今年更有仪式感:搞一棵圣诞树,还是干脆上一张滤镜海报?但如果你想让节日过得更「有科技味儿」,今年有个更酷的选择——一棵能听懂你手势、会展示你的照片、还能随你指挥聚散旋转的「3D C…

作者头像 李华
网站建设 2026/5/27 0:40:56

软件许可优化技术栈:动态资源池化+智能调度+合规审计融合

软件许可优化技术栈:动态资源池化智能调度合规审计融合一、为什么企业需要软件许可优化?在数字化转型的浪潮下,软件已经成为各行各业的核心资产,但随之而来的软件许可成本却不断攀升,成为很多企业成本控制的痛点。是在…

作者头像 李华