如何在 rabbitmq 中组织交换器和队列以与异步 CQRS 总线一起使用

How to organize exchanges and queues in rabbitmq to use with async CQRS buses

我正在构建我的后端应用程序,我想使用 CQRS 和 rabbitmq(我对 rabbitmq 还很陌生)。为此,我为 proddev 环境指定了不同的 vhosts,但我没有确定如何将 exchangesqueues 用于 commandevents查询辆公交车。

我是否应该只使用 一个交换器,例如 CQRS 和三个不同的队列 命令查询事件?

或者我应该使用三个不同的交换(命名为query_buscommand_busevent_bus) 并且在每个内部 将一个队列映射到每个可能的命令查询和事件 使用 路由键?

谢谢!

您应该为不同的内容(命令、查询...)设置单独的队列。

因为通过检查每个队列的长度更容易看出命令端或查询端是lagging/slow。队列长度为您的仪表板提供了漂亮的图表。