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

时间:2012-12-06 22:00:02

标签: azure message-queue azureservicebus

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

  

我们将使用直接交换。背后的路由算法   直接交换很简单 - 消息传递给绑定的队列   key完全匹配消息的路由密钥。

     

在此设置中,我们可以看到直接交换X绑定了两个队列   它。第一个队列绑定了绑定键orange,和   第二个有两个绑定,一个绑定键为黑色,另一个绑定   与绿色。

     

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

寻找对服务总线架构有深刻理解的人,以推荐实现此类队列的最佳载体。

1 个答案:

答案 0 :(得分:10)

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

enter image description here

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

  • 直接交换X将是图片中的 DataCollection Topic
  • Q1将是信息中心 SubscriptionFilter设置为 Redmond
  • Q2将是广告资源 Subscription(没有Filter,这意味着它会收到所有消息。)

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

Python教程:How to Use Service Bus Topics/Subscriptions