字节面试:RocketMQ是怎么测试的呢?
答:
①首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性;
②推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨)
一、先了解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在不同的地方

本文详细探讨了字节跳动面试中关于RocketMQ的测试策略,包括消费正确性验证、异常处理、消息丢失补偿、性能监控、消费顺序控制及非正常场景下的测试。涉及模块理解、测试点整理和实战要点。
最低0.47元/天 解锁文章
1371

被折叠的 条评论
为什么被折叠?



