使用Windows Azure Service Bus进行邮件路由

Ken*_*enn 8 message-queue azure azureservicebus

我需要花几个小时来了解Azure Service Bus架构.我特别想知道这种排队技术是否可用于支持消息路由 - 类似于RabbitMQ的路由功能. http://www.rabbitmq.com/tutorials/tutorial-four-python.html

我们将使用直接交换.直接交换背后的路由算法很简单 - 消息进入队列,其绑定密钥与消息的路由密钥完全匹配.

在此设置中,我们可以看到直接交换X与两个绑定到它的队列.第一个队列绑定橙色绑定,第二个绑定有两个绑定,一个绑定密钥为黑色,另一个绑定为绿色.

在这样的设置中,使用路由密钥orange发布到交换机的消息将被路由到队列Q1.路由键为黑色或绿色的消息将转到Q2.所有其他消息将被丢弃.

寻找对服务总线体系结构有深刻理解的人,以推荐实现此类队列的最佳向量.

San*_*tia 10

Windows Azure Service Bus主题和订阅允许您执行完全相同的操作:

在此输入图像描述

让我们将图像与您的示例进行比较:

  • 直接交换X将是图像中的DataCollection Topic.
  • Q1将是仪表板 Subscription(Filter设置为Redmond)
  • Q2将是库存 Subscription(没有Filter,意味着它将接收所有消息).

它实际上非常简单.您的客户端向主题(类似于队列)发送消息,并可以向此消息添加一些元数据(这可以用作a binding key).现在您不会从主题本身读取消息,主题会将消息转发给所有订阅.要实现消息路由,您只需使用类似于SQL的语法在一个或多个订阅上设置过滤器.

Python教程:如何使用服务总线主题/订阅