首页 > 解决方案 > 使用队列而不是主题和订阅有什么意义吗?

问题描述

我是 Azure 服务总线的新手,我正在研究它是否可以取代我们的 RabbitMQ 基础结构。

无论如何,我想知道使用队列是否有意义?如果主题和订阅提供相同的功能 + 提供从多个来源独立消费的灵活性。

例如,如果现在我有一个只有一个消费者组的设置(可能是多个消费者,但都共享同一个消息队列),我可以使用一个只有一个订阅的主题。

队列中有什么意义?它是否提供了对主题和订阅的某种优化?

标签: azureazureservicebusazure-servicebus-topics

解决方案


与订阅订阅的主题不同,队列不必经过过滤。附加大吞吐量,这可以转化为一些性能优势。此外,对于接收者是单个处理器且目标已知的场景,将消息发送到队列而不是发布到主题是一种更简单的语义。NServiceBus 和 MassTransit 等框架根据是命令还是事件来区分和优化消息发送,相应地使用队列或主题/事件。


推荐阅读