Iva*_*ado 4 message-queue amqp rabbitmq
使用默认(直接)交换与为每个队列创建自定义直接交换有什么区别?
(default exchange) -> queue1
(default exchange) -> queue2
Run Code Online (Sandbox Code Playgroud)
对比
queue1_direct_exchange -> queue1
queue2_direct_exchange -> queue2
Run Code Online (Sandbox Code Playgroud)
在 RabbitMQ 仪表板中,我可以看到,如果我为每个队列使用默认交换,它的消息速率会更高,所以我想知道使用不同的交换是否会提高消息调度的性能......
提前致谢!
与其他交换类型相比,使用默认的直接交换并没有显着的性能提升。您将看到的性能差异取决于服务器上有多少内存、有多少队列正在接收一条消息、是否将消息持久化到磁盘,以及其他因素。
一般来说,应该避免使用默认的直接交换。这听起来很容易,但最终你的队列系统的设计是反向设置的,消息发布者知道哪个队列应该接收消息。
这是我第一次开始使用 RabbitMQ 时犯的一个错误,它最终让我感到困惑并导致问题。我不知道为什么我需要交换,或者路由密钥的目的是什么。
我在这里写了更多关于这个:http : //derickbailey.com/2014/11/14/understanding-the-relationship-between-rabbitmq-exchanges-queues-and-bindings/
| 归档时间: |
|
| 查看次数: |
1450 次 |
| 最近记录: |