rabbitmq 队列上有多个消费者 - 只有一个消费者收到消息

2023-11-25

我实现了多个消费者,他们从单个队列中获取消息,我使用类似于这个例子,除了我正在无限循环中执行 basic.get 进行轮询。

知道如何防止所有消费者之间的竞争,因为只有一个消费者会收到消息,而另一个消费者将继续进行轮询,直到另一条消息到来为止?
我尝试实现一种逻辑,其中一旦收到消息,我就会确认该消息以将其删除,但似乎其他一些队列设法在第一个队列确认并删除它之前获取该消息。 所以每个消费者都得到了信息。

提前致谢


知道如何防止所有消费者之间的竞争,因为只有一个消费者会收到消息,而另一个消费者将继续进行轮询,直到另一条消息到来为止?

你不能,按照你设置的方式。 RabbitMQ 会将消息循环发送给消费者,但只有一个消费者会从队列中接收消息。当单个队列上有多个消费者时,这是 RabbitMQ 的设计初衷。

如果您需要所有消费者接收所有消息,那么您需要更改配置,以便每个消费者都有自己的队列。然后,您需要通过交换器发布消息,该交换器会将消息传递到所有消费者的所有队列。

最简单的方法是使用扇出交换类型。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

rabbitmq 队列上有多个消费者 - 只有一个消费者收到消息 的相关文章

随机推荐

  • Spring Boot @WebIntegrationTest 和 TestRestTemplate - 是否可以回滚测试事务?

    我有一个带有 Spring Data Rest 的 Spring Boot 应用程序 我使用 WebIntegrationTest随着TestRestTemplate在我的集成测试中 测试的基类看起来像这样 RunWith SpringJU
  • iText 7.0.4.0 - 将 PdfDocument 转换为字节数组

    我正在尝试逐页拆分 PDF 文件 并获取每个页面文件的字节数组 但是 我在 C 的 iText 版本 7 0 4 中将每个页面转换为字节数组时遇到问题 其他解决方案中引用的方法依赖于 PdfWriter GetInstance 或 PdfC
  • 使用java从服务器端检测浏览器版本

    我看到很多与浏览器检测 用户代理检测等相关的帖子 我想从服务器端检测版本并基于此发送适当的数据 我知道浏览器可以使用工具模仿版本 但这对我来说并不重要 我需要 java 解决方案来进行准确的版本检测 这是解释如何使用的代码用户代理实用程序
  • exc 错误访问代码 2

    过去三天我一直在与这个错误作斗争 但没有运气 我正在开发一个组合应用程序uiviewcontrollers and uitableviewcontrollers在表视图中 我单击 添加 按钮 它崩溃了 尚未添加核心数据编码 我什至已经启用N
  • 文件选择器在 Windows 上不接受 mimetype 'text/csv'

    我正在使用 filepicker 并设置 text csv 上传的 mimetype 它在 Mac chrome 上运行得很好 但在 Windows 上则不然 知道如何解决这个问题吗 谢谢 Ace 也尝试替代的模仿类型 text comma
  • 使用 BinData 进行 MongoDump 查询

    Mongodump 文档指定您可以使用特定查询进行转储 i e mongodump host localhost db mydb collection testCollection query SomeKey some value 我将 i
  • 将 UIImage 剪成圆形

    我想剪一个UIImage成一个圆圈 以便我可以将其用作注释 我在这个网站上找到的每个答案都描述了创建一个UIImageView 然后修改它并显示它 但你不能将注释的图像设置为UIImageView 只有一个UIImage 我该怎么办 Xco
  • Asp.Net MVC 生命周期[重复]

    这个问题在这里已经有答案了 可能的重复 与 ASP NET WebForms 相比 ASP NET MVC 页面的 页面生命周期 是怎样的 如果专家能够向我指出 ASP Net MVC 生命周期 我将不胜感激 我有兴趣知道一旦请求到来并发送
  • toSet 和类型推断

    有人可以解释为什么以下不起作用 当我这样做时 不知怎的会丢失编译类型推断的一些信息toSet 但我不明白为什么 scala gt case class Foo id Int name String defined class Foo sca
  • 如何在 Java 中填充数组?

    我知道如何正常执行此操作 但我可以发誓您可以填写如下 a 0 0 0 0 0 你是怎么做到的 我确实尝试过谷歌 但没有得到任何有用的信息 查看数组 fill方法 int array new int 4 Arrays fill array 1
  • 如何更改R中的矩阵列类型

    我有一个矩阵 我想将第五列类型从字符更改为数字 但我不能 我已经尝试过这个 test1 5 lt as numeric test1 5 但同样 列类是字符而不是数字 我应该怎么办 谢谢 就像 Marius所说 矩阵只能保存一种数据类型 您可
  • 在一个函数调用中向 R data.table 添加多列?

    我有一个返回列表中两个值的函数 这两个值都需要添加到 data table 的两个新列中 函数的评估成本很高 因此我想避免计算函数两次 这是例子 library data table example data table DT x y v
  • 如何使用 Xpath 1.0 比较字符串?

    我遇到了一个问题
  • 使用 SQL 查询进行 XML 解析

    我正在尝试解析 sql server 中的以下 xml 以获取所有 3 个 Id
  • 停止重复使用自定义单元 Swift

    我有一个uitableview使用从数组获取数据的自定义单元格 定制单元有一个uilabel and an uibutton 直到uilabel文本或为文本加载的数组对象 为零 启动时一切都很好 当我按下uibutton正在追加数组 新单元
  • DataAdapter:更新无法找到 TableMapping['Table'] 或 DataTable 'Table'

    此代码片段引发错误 更新无法在适配器上找到 TableMapping Table 或 DataTable Table Update ds 线 为什么它会抛出这种类型的错误 SqlConnection con new SqlConnectio
  • 无法从打印的 html 文件查看 gvisMotionChart

    当我将动态图表的代码保存到 html 文件并尝试打开它时 我看到页脚 并且 正在初始化 进度条闪烁了一瞬间 但没有显示任何其他内容 so M1 lt gvisMotionChart Fruits idvar Fruit timevar Ye
  • 如何从模板访问对象的属性?

    根据http handlebarsjs com expressions html 我应该能够做到这一点 h1 article title h1 但我似乎无法让它在流星中工作 这是我的模板
  • C# 中的数据透视表

    我需要在 net 中创建一个数据透视表 不能使用任何第三方控件 除非它是免费的 我试图找到解释如何创建数据透视表 算法或步骤 的文档 但几乎所有内容都与 Excel 相关 有谁知道如何在 C 中创建数据透视表 谢谢 在这里帮忙http ms
  • rabbitmq 队列上有多个消费者 - 只有一个消费者收到消息

    我实现了多个消费者 他们从单个队列中获取消息 我使用类似于这个例子 除了我正在无限循环中执行 basic get 进行轮询 知道如何防止所有消费者之间的竞争 因为只有一个消费者会收到消息 而另一个消费者将继续进行轮询 直到另一条消息到来为止