RocketMQ5.0消费者负载均衡实战

消费者的消息粒度负载均衡

在5.0版本中为了提升消费者的负载均衡,RocketMQ5.0 sdk暂时仅支持SimpleConsumer,本文针主要针对SimpleConsumer非顺序消息类型进行消息粒度负载均衡机制实战

PushConsumer与SimpleConsumer仅支持消费下游更加均衡,数据不倾斜。

消息粒度负载均衡策略官方文档图

环境搭建可以参考rocketMQ5.0事务消息实战_rocketmq实战-CSDN博客

消费者与消费者负载均衡概述:RocketMQ5.0消费者与消费者的负载均衡_rocketmq pushconsumer与simpleconsumer区别-CSDN博客

广播消费

广播消费可以理解为一个topic被多个不同下游服务订阅消费:基于consumer group来区别不同的服务(消费者)。广播消费不同的consumer group互相独立,互不影响。每个消费者可以完整的消费topic的消息。

广播消费实战

        生产者产生1000条消息,启动两个消费者服务订阅相同的topic,consumerGroup分别为group1,group2

生产者

       生产者发送1000条消息

消费者

创建两个消费者服务topic一致,ConsumerGroup分别为:group1,group2

消费结果

group1,group2分别每个消费者可消费到消费者分组内所有的消息。

共享消费

共享消费可以理解为consumer GroupA为k8s service的概念,消费consumer为pod,将外部的请求通过lb,随机分配给不同的pod。多个pod合作处理外部service的所有调用。

共享消费实战

  生产者产生1000条消息,启动三个服务消费者消费消息

生产者

       生产者发送1000条消息

消费者

相同的代码,相同的consumer group我们启动三个consumer

消费结果

三个消费者分别消费,342,342,323条。看起来几乎平均分配。在dashboard里面把topic的读写队列数量修改都为1,生产者多次发送消息。结果还是近似平均分配。

重要

消息粒度负载均衡策略保证同一个队列的消息可以被多个消费者共同处理,但是该策略使用的消息分配算法结果是随机的,并不能指定消息被哪一个特定的消费者处理。

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值