前言:目前rocketmq的配置如下所示,突然发现当在本地调试程序时,有多个机器会订阅同一个组(一个生产、其余本地测试环境),感觉这样应该会有负载均衡,所以会导致生产环境上的rocketMq收不到消息,所以我决定先测试一下到底什么情况会负载均衡,其实就是什么情况消息会发送到两个机器上,然后再调整一下配置(有一些无关的注释请忽略,项目中的懒得删了)。
# 人脸识别生产者的组名
rocketmq.faceProducerGroup=face-producer-group
# 人脸识别消费者组名
rocketmq.faceConsumerGroup=face-consumer-group
# 人脸识别队列
rocketmq.face-topic=faceRecognitionTopic
# 人脸识别队列标签
rocketmq.face-topic-tag=user-tag
172.20.13.15是生产环境,其余两个是测试环境。
目录
第一章 测试背景
1.1 原理
这里采用集群模式(cluster),感觉影响负载均衡的主要是三个,group,topic,tag,这里会用控制变量法进行测试,分别测试
三个都一样,负载均衡情况。
group一样,topic不一样,tag一样,负载均衡情况。
group一样,topic一样,tag不一样,负载均衡情况。
1.2 配置
启动了两个消费者,一个生产者,都在一个机器上,两个消费者端口分别是8081,8082,生产者端口8080
第二章 实践
2.1 group一样,topic一样,tag一样
从生产者发送30条数据,两个消费者对半分,证明两个消费者在三个都一样情况下会负载均衡。
配置:
生产者:
#RocketMQ
# 人脸识别生产者的组名
rocketmq.facePr