我们在MSMQ之上使用NServiceBus。现在我们正在使用RabbitMQ - 我们想要一个集中的队列,并发现RabbitMQ最能满足我们的需求。
转换我们的项目很简单,在RabbitMQ中我们注意到它为该端点中的每个端点和消息类型创建了一个交换(和队列)。
我已阅读http://docs.particular.net/nservicebus/rabbitmq/configuration-api中的更改路由拓扑部分并将其写入
对于不太复杂的场景,您可以使用DirectRoutingTopology
文档无法解释的是将解决方案视为o1=Parent()
o2=Parent()
o3=Parent()
的参数。
我已经搜索过,无法找到解释复杂内容的地方,何时应该使用complex
覆盖使用多个交换的默认选项。或者每种方法之间的差异/性能考虑因素是什么。
有人知道吗?
答案 0 :(得分:0)
这不是性能问题,而是以最佳方式使用该技术。
每个队列都是要完成的工作单元。所以假设我发送了messageA,如果要完成1个工作单元,则有1个队列进行1次交换来处理消息是有意义的。
假设您有messageB需要执行操作X Y到两者。在这种情况下,您将有1个交换机将消息发送到2个不同的队列(FANOUT Exchange)
假设您有messageC需要根据参数执行X OR Y.在这种情况下,您希望使用指定为2个不同队列的路由的DIRECT交换(但该消息只会在2个队列中的1个中结束)。
希望这很有道理。