在 RabbitMQ 中使用不同的交换有什么好处?
Any advantage using different Exchanges in RabbitMQ?
使用默认(直接)交换与为每个队列创建自定义直接交换之间有什么区别吗?
(default exchange) -> queue1
(default exchange) -> queue2
对比
queue1_direct_exchange -> queue1
queue2_direct_exchange -> queue2
在 RabbitMQ 仪表板中,我可以看到如果我为每个队列使用默认交换器,它会有更多的消息速率,所以我想知道使用不同的交换器是否会提高消息调度的性能...
提前致谢!
与其他交换类型相比,使用默认的直接交换没有显着的性能改进,副手。您将看到的性能差异取决于服务器上的内存量、接收单个消息的队列数、是否将消息持久保存到磁盘以及其他因素。
一般来说,应该避免使用默认的直接交换。这听起来很简单,但最终您的排队系统设计是反向设置的,消息发布者知道哪个队列应该接收消息。
这是我第一次开始使用 RabbitMQ 时犯的错误,它最终让我感到困惑并导致了问题。我不知道为什么我需要交换,或者路由密钥的目的是什么。
我在这里写了更多关于这个的文章:http://derickbailey.com/2014/11/14/understanding-the-relationship-between-rabbitmq-exchanges-queues-and-bindings/
使用默认(直接)交换与为每个队列创建自定义直接交换之间有什么区别吗?
(default exchange) -> queue1
(default exchange) -> queue2
对比
queue1_direct_exchange -> queue1
queue2_direct_exchange -> queue2
在 RabbitMQ 仪表板中,我可以看到如果我为每个队列使用默认交换器,它会有更多的消息速率,所以我想知道使用不同的交换器是否会提高消息调度的性能...
提前致谢!
与其他交换类型相比,使用默认的直接交换没有显着的性能改进,副手。您将看到的性能差异取决于服务器上的内存量、接收单个消息的队列数、是否将消息持久保存到磁盘以及其他因素。
一般来说,应该避免使用默认的直接交换。这听起来很简单,但最终您的排队系统设计是反向设置的,消息发布者知道哪个队列应该接收消息。
这是我第一次开始使用 RabbitMQ 时犯的错误,它最终让我感到困惑并导致了问题。我不知道为什么我需要交换,或者路由密钥的目的是什么。
我在这里写了更多关于这个的文章:http://derickbailey.com/2014/11/14/understanding-the-relationship-between-rabbitmq-exchanges-queues-and-bindings/