1.集群消费方式
一个ConsumerGroup中的Consumer实例平均分摊消费生产者发送的消息。例如某个Topic有九条消息,其中一个Consumer Group有三个实例(可能是3个进程,或者3台机器),那么每个实例只消费其中的3条消息,Consumer不指定消费方式的话默认是集群消费的,适用于大部分消息的业务
2.广播消费方式
一条消息被多个Consumer消费,几十这些Consumer属于同一个ConsumerGroup,消息也会被ConsumerGroup中的每个Consumer消费一次,广播消费中的ConsumerGroup概念可以认为在消息划分层面没有意义,适用于一些分发消息的场景,比如我订单下单成功了,需要通知财务系统,客服系统等等这种分发的场景,可以通过修改Consumer中的MessageModel来设置消费方式为广播消费

默认集群消费方式

生产者循环生产消息,假设生产20条,启动两个消费者,理论上是分摊消费的
RocketMQ广播消费与集群消费
编写两个消费者,启动消费者
RocketMQ广播消费与集群消费
RocketMQ广播消费与集群消费
发现每个消费者消费了十条数据。

修改消费方式,广播消费测试

RocketMQ广播消费与集群消费
启动两个消费者,理论上是各自消费二十条数据
RocketMQ广播消费与集群消费
每个消费者消费了20条消息,通过日志还可以发现,消费端的消费方式是多线程消费的,进入源码查看
RocketMQ广播消费与集群消费
内部定义了很多默认值,包括消费方式默认集群,线程最小默认20,最大默认64,批量下去消息默认32,消费默认一次消费一条等一些默认信息

相关文章:

  • 2022-01-15
  • 2021-08-14
  • 2021-11-10
  • 2022-12-23
  • 2021-09-09
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2023-02-14
  • 2021-08-24
  • 2021-11-19
  • 2021-08-31
  • 2022-01-08
  • 2021-11-27
相关资源
相似解决方案