Rocketmq广播消费模式怎么扩展消费者
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广播消费模式怎么扩展消费者相关推荐
- RabbitMQ自动扩展消费者源码分析
1 前言 在 RabbitMQ异常监控及动态控制队列消费的解决方案 中,提供了一种在线动态修改消费者数量的方法,但使用该方法需要及时的监控队列消息的堆积情况,不能做到自动扩展(增加或减少)消费者数量, ...
- rocketmq广播消息为什么不能重试_几分钟带你看懂“消息队列和RocketMQ”的入门总结
消息队列扫盲 消息队列顾名思义就是存放消息的队列,队列我就不解释了,别告诉我你连队列都不知道似啥吧? 所以问题并不是消息队列是什么,而是 消息队列为什么会出现?消息队列能用来干什么?用它来干这些事会带 ...
- RocketMq案例,生产者,消费者,消息订阅
1.RocketMq集群配置参考: http://blog.csdn.net/tototuzuoquan/article/details/78314572 使用的rocketmq的ip等是上面博文提及 ...
- RocketMQ广播消费与集群消费
之前的博客只是为了验证rmq安装是否成功,以及生产消费消息能否正常走通,如果是多个消费端消费生产者发送的消息会有什么样的效果?这个可以用代码校验一下,还是先了解两个比较常用的消费端的术语: 1.集群消 ...
- RocketMQ 消费者(1)概念和消费流程
1. 背景 RocketMQ 的消费可以算是 RocketMQ 的业务逻辑中最复杂的一块.这里面涉及到许多消费模式和特性.本想一篇文章写完,写到后面发现消费涉及到的内容太多,于是决定分多篇来写.本文作 ...
- rocketmq新扩容的broker没有tps_深入研究RocketMQ消费者是如何获取消息的
前言 小伙伴们,国庆都过的开心吗?国庆后的第一个工作日是不是很多小伙伴还沉浸在假期的心情中,没有工作状态呢? 那王子今天和大家聊一聊RocketMQ的消费者是如何获取消息的,通过学习知识来找回状态吧. ...
- RocketMQ(七) RocketMQ的两种消费模式
目录 一.概述 二.集群消费 三.广播消费 一.概述 RocketMQ主要提供了两种消费模式:集群消费以及广播消费.我们只需要在定义消费者的时候通过setMessageModel(MessageMod ...
- 蓝牙BLE5.0扩展广播介绍
蓝牙BLE5.0扩展广播介绍 前言 广播包基本介绍 扩展广播包结构 总结 author :cbk 前言 在2016年12月更新的蓝牙Core_v5.0中,更新了LE Advertising Exten ...
- rocketmq 组监听_最全的RocketMQ学习指南,程序员必备的中间件技能
一.简介 RocketMq是阿里开发出来的一个消息中间件,后捐献给Apache.官网上是这样介绍的: Apache RocketMQ™ is a unified messaging engine, l ...
最新文章
- 搬箱轮滑再炫技!一个被波士顿动力耽误的机器人
- 使用 OpenCV 和 Tesseract 对图像中的感兴趣区域 (ROI) 进行 OCR
- python3面向对象(1)
- 日常工作部门及体系相关单词
- Memcached学习笔记 — 第四部分:Memcached Java 客户端-gwhalin(1)-介绍及使用
- flutter 日历_Flutter:一个更贴近真实项目的练习
- 一场虚拟的鄂尔多斯婚礼 (图)
- 电商系统的积分(即金币)的设计方案
- [渝粤教育] 昆明理工大学 会计学 参考 资料
- 二次封装dojo slider
- CSharpThinking---C# 要点(附加三)
- OLE 操作Excel 祥解
- Mac 安装Pytorch, Jupyter notebook, conda, python3
- 2010年计算机专业考研大纲解析
- python 区块链_如何用Python快速实现区块链?
- 删除shipyard
- drop、delete、truncate比较
- ISTIO文档解读学习(三)
- 【CISSP备考】AIO综合错题集
- 卸载计算机更新程序包,Win7清除Win10更新安装包的方法