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

问题描述

我正在搭建我的后端应用程序,我想将 CQRS 和 rabbitmq 与它一起使用(我对 rabbitmq 很陌生)。为此,我为我的 proddev 环境指定了不同的 vhosts,但我不确定如何使用 exchanges命令、事件查询总线的/strong>和队列

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

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

谢谢!

解决方法

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

因为通过检查每个队列的长度,可以更容易地查看命令或查询端是否滞后/缓慢。队列长度为您的仪表板提供了漂亮的图表。