当前位置: 首页 > 知识库问答 >
问题:

话题交换你需要每个话题的消费者队列吗?

阳福
2023-03-14

我试图更好地理解如何在酒吧子模型中与多个消费者进行话题交流。假设我有

  • 一个名为Log的持久队列
  • 发布者主题交换,它将所有日志消息(日志。#)路由到此队列日志

我可以让多个消费者根据路由密钥从上述发布者队列“log”读取日志消息。e、 g.消费者C1-仅登录日志。x条信息,C2获取日志。有意思的消息。。等等

简言之,是否可以让多个消费者从同一队列中读取信息,但只获取经过过滤的消息,或者每个消费者必须有自己的基于主题的队列?如果答案是后者,每个使用者都有自己的基于不同主题的队列,那么publisher如何独立于使用者队列进行发送。谢谢

共有1个答案

拓拔弘化
2023-03-14

不能让消费者C1和C2位于同一队列中,并且每个消费者都根据路由密钥获取不同的消息子集。相反,您需要的是一个基于路由密钥发布到两个不同队列的exchange。然后C1和C2各自从自己的队列中读取数据。

 类似资料:
  • 我是AMQP的新手,正在尝试为RabbitMQ系统制定一个通知架构。 我想要一个主题交换(通知交换,比方说),特别是因为我想灵活地使用主题交换附带的路由密钥和队列,以及将来扩展该主题的更多选项。不过,我可能是错的,因为... 我还想让两个或更多的消费者使用每个通知。作为基线,我希望发布的每个通知都在数据库中结束。此外,我希望每个通知都可以由客户端应用程序使用(例如,web应用程序使用并进一步通过套

  • 我正在使用spring boot构建一个web应用程序,现在我需要接收实时通知。我正计划使用apache kafka作为这方面的消息代理。要求用户具有不同的角色,并且根据角色,他们应该接收其他用户正在执行的操作的通知。 我设置了一个生产者和消费者,作为消费者,我可以接收发布到一个主题的信息,比如说topic1。 我遇到的问题是,我可以让多个用户收听同一个主题,而每个用户都应该得到发布到该主题的消息

  • 我有一个docker环境,其中消息服务(Rabbitmq)和我的服务(myapp)在docker中配置。myapp在给定的消息通道和消费者代码中产生类型为"fanout"的消息,我尝试设置Rabbitmq的复杂性,以便类型为"fanout"的消息可以被消费。 当使用者设置rabbitmq thingy时,如上所示:我得到以下前提条件错误:由以下原因引起: 通用域名格式。兔子。客户关机信号异常:通道

  • 我成功地建立了一个话题交换,并且能够同时向几个消费者传递消息。 我还想向竞争对手传递信息,并继续使用主题交换。我了解到,使用相同的队列名称可以让消费者竞争消息。然而,我可能弄错了,因为我无法使它工作。 为同一主题的多个侦听器设置: < li >申报话题交流 < li >对于每个侦听器,用自动生成的名称声明一个新队列 < li >用给定的主题路由关键字将此队列绑定到上面的交换 如何将相互竞争的消费者

  • 我看了Kafka的文件,还不知道如何消费一个话题平行? 假设:我有一个像“发生了一些事情”这样的话题(不要拆分这个话题),我有很多想消费它的客户。那么该怎么办,让多个客户并行消费呢?我应该使用分区和客户群吗?

  • 尝试在主题使用者上实现持久功能。为 jms 使用者和客户端 ID 放置了一个名称。(显然添加了持久=“真”) 据我所知。当它第一次运行时,该主题会将消费者注册为“耐用”。 所以基本上我这样做了,部署了生产者和消费者。它被注册为耐用消费者。将消息发布到主题,消费者将获得消息。现在,我取消部署消费者,并发布另一条消息,消费者无论何时起床都应该收到。当我再次部署消费者时,我得到了通用的temp-topi