【发布时间】:2019-11-03 12:55:38
【问题描述】:
我尝试将消息路由到不同的队列,但如果我的应用程序应该发送多条消息或只发送一条消息,我无法解决这个问题(可能是一个简单的问题)。
例如,我想启动一个发出 1 条消息并在正确队列中传递的作业。消费者(工人)做他的工作,完成后发送应该做几件事的响应(例如,数据库更新,发送邮件......):但是如何?
1.) 使用 routingkey 绑定队列,例如:job.done.* 到队列 db-update, send-mail 消费者在哪里进行 db 更新和邮件发送?
2.) 创建一个带有队列绑定到 db-update 的数据库交换,并创建一个带有队列发送邮件的发送邮件交换,并在工作人员处为每个交换创建一条消息?
所以他们的主要问题或多或少是,如果消息应该触发超过 1 个操作(传递到超过 1 个队列),是否可以为每个服务创建 1 个交换并发送多个消息或仅依赖于路由键?
我的感觉告诉我应该依赖 routingkey 和绑定队列,但是如果架构变得更复杂,那么只有少数主题交换似乎也有点错误?
【问题讨论】:
标签: service routing rabbitmq message