字节面试官:Rocketmq如何测试?这个回答能拿几分

1430 篇文章 61 订阅
1342 篇文章 53 订阅

字节面试: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在不同的地方

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

02、整理测试点

1、消费主流程是正常的

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

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

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

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

4、消息避免重复发送

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

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

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

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

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

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

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

    -a) 引入锁来实现串行

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

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值