Rocketmq广播消费模式怎么扩展消费者

试想一下:

某消费者组中只有两个Consumer,他们订阅了同一个Topic,他们消费逻辑不同,使用的是广播消费模式,组中每个Consumer都会收到该topic下的消息。

此时由于某种原因你想扩展一下这两个Consumer机器,提升一下其他代码(两台Consumer除消费消息外还有其他功能)性能,于是你一个Consumer加了一台。

然后你会发现你Consumer重复消费消息了,如果消费逻辑不满足幂等性的话还会出重复消费错误,而且broker发送该topic消息多增加了一倍。也就是此时广播消费模式不利于消费者的可扩展性?所以我也网上找了一下,说广播模式多用于更新每台机器的内存级缓存(小白一个,还有其他功能,希望各位指教一下!!)。

那有没有利于扩展的广播模式呢?有的,就是利用多个consumer组采用负载均衡消费模式订阅同一个topic,看下方:

代码如下:

@Component
@RocketMQMessageListener(topic = "topic1",consumerGroup="group1")
public class MessageListener1_1 implements RocketMQListener<String> {@Overridepublic void onMessage(String str) {System.out.println(Thread.currentThread().getName()+"消费完成:"+str);}
}
@Component
@RocketMQMessageListener(topic = "topic1",consumerGroup="group2")
public class MessageListener1_2 implements RocketMQListener<String> {@Overridepublic void onMessage(String str) {System.out.println(Thread.currentThread().getName()+"消费完成:"+str);}
}

结果如下,可以看出不需要广播模式就能都消费到。

如果两个消费者组订阅了一个topic,那么两个消费者组都能消费到同一条消息,就相当于广播模式了,且两个组中的消费逻辑可以不同,这样各组的横向扩展便有了意义。

Rocketmq广播消费模式怎么扩展消费者相关推荐

  1. RabbitMQ自动扩展消费者源码分析

    1 前言 在 RabbitMQ异常监控及动态控制队列消费的解决方案 中,提供了一种在线动态修改消费者数量的方法,但使用该方法需要及时的监控队列消息的堆积情况,不能做到自动扩展(增加或减少)消费者数量, ...

  2. rocketmq广播消息为什么不能重试_几分钟带你看懂“消息队列和RocketMQ”的入门总结

    消息队列扫盲 消息队列顾名思义就是存放消息的队列,队列我就不解释了,别告诉我你连队列都不知道似啥吧? 所以问题并不是消息队列是什么,而是 消息队列为什么会出现?消息队列能用来干什么?用它来干这些事会带 ...

  3. RocketMq案例,生产者,消费者,消息订阅

    1.RocketMq集群配置参考: http://blog.csdn.net/tototuzuoquan/article/details/78314572 使用的rocketmq的ip等是上面博文提及 ...

  4. RocketMQ广播消费与集群消费

    之前的博客只是为了验证rmq安装是否成功,以及生产消费消息能否正常走通,如果是多个消费端消费生产者发送的消息会有什么样的效果?这个可以用代码校验一下,还是先了解两个比较常用的消费端的术语: 1.集群消 ...

  5. RocketMQ 消费者(1)概念和消费流程

    1. 背景 RocketMQ 的消费可以算是 RocketMQ 的业务逻辑中最复杂的一块.这里面涉及到许多消费模式和特性.本想一篇文章写完,写到后面发现消费涉及到的内容太多,于是决定分多篇来写.本文作 ...

  6. rocketmq新扩容的broker没有tps_深入研究RocketMQ消费者是如何获取消息的

    前言 小伙伴们,国庆都过的开心吗?国庆后的第一个工作日是不是很多小伙伴还沉浸在假期的心情中,没有工作状态呢? 那王子今天和大家聊一聊RocketMQ的消费者是如何获取消息的,通过学习知识来找回状态吧. ...

  7. RocketMQ(七) RocketMQ的两种消费模式

    目录 一.概述 二.集群消费 三.广播消费 一.概述 RocketMQ主要提供了两种消费模式:集群消费以及广播消费.我们只需要在定义消费者的时候通过setMessageModel(MessageMod ...

  8. 蓝牙BLE5.0扩展广播介绍

    蓝牙BLE5.0扩展广播介绍 前言 广播包基本介绍 扩展广播包结构 总结 author :cbk 前言 在2016年12月更新的蓝牙Core_v5.0中,更新了LE Advertising Exten ...

  9. rocketmq 组监听_最全的RocketMQ学习指南,程序员必备的中间件技能

    一.简介 RocketMq是阿里开发出来的一个消息中间件,后捐献给Apache.官网上是这样介绍的: Apache RocketMQ™ is a unified messaging engine, l ...

最新文章

  1. 搬箱轮滑再炫技!一个被波士顿动力耽误的机器人
  2. 使用 OpenCV 和 Tesseract 对图像中的感兴趣区域 (ROI) 进行 OCR
  3. python3面向对象(1)
  4. 日常工作部门及体系相关单词
  5. Memcached学习笔记 — 第四部分:Memcached Java 客户端-gwhalin(1)-介绍及使用
  6. flutter 日历_Flutter:一个更贴近真实项目的练习
  7. 一场虚拟的鄂尔多斯婚礼 (图)
  8. 电商系统的积分(即金币)的设计方案
  9. [渝粤教育] 昆明理工大学 会计学 参考 资料
  10. 二次封装dojo slider
  11. CSharpThinking---C# 要点(附加三)
  12. OLE 操作Excel 祥解
  13. Mac 安装Pytorch, Jupyter notebook, conda, python3
  14. 2010年计算机专业考研大纲解析
  15. python 区块链_如何用Python快速实现区块链?
  16. 删除shipyard
  17. drop、delete、truncate比较
  18. ISTIO文档解读学习(三)
  19. 【CISSP备考】AIO综合错题集
  20. 卸载计算机更新程序包,Win7清除Win10更新安装包的方法

热门文章

  1. 自学爬虫的初体验(一)
  2. DevExpress XPO 学习笔记
  3. 苹果内存不够怎么办_手机内存清理了还是不够用?不知道这些方法,真是太可惜了...
  4. 微信公众号接入智能客服机器人可以实现哪些效果
  5. Java开发对接招行一网通支付功能的总结
  6. 温莎大学计算机硕士,温莎大学应用计算机硕士申请条件
  7. Tomcat部署及优化
  8. VUI参数语义,色彩原色图表,高宽比标示符含义图表
  9. 好用的网页操作自动化软件
  10. 常见的HTPP状态码