导出 (0) 打印
全部展开

Service Bus 主题

更新时间: 2014年3月

主题通过加入发布-订阅功能,扩展了队列提供的消息传递功能。

主题实体由类似于队列的序列消息存储组成,但它最多支持 2000(此数字以后可能有变)个并发的持久订阅,这些订阅将消息副本中继到工作进程池。如下图中所示,每个订阅可以定义一个或多个规则实体。

每个规则指定一个筛选表达式(用于筛选穿过订阅的消息)和一个可以修改消息属性的筛选器操作。特别是,SqlFilter 类允许你针对消息属性定义类似 SQL92 的条件,如以下示例所示:

  1. OrderTotal > 5000 OR ClientPriority > 2

  2. ShipDestinationCountry = ‘USA’ AND ShipDestinationState = ‘WA’

相反地,可以使用 SqlRuleAction 类修改、添加或删除 BrokeredMessage 对象的属性,其语法与 UPDATE SQL 命令的 SET 子句使用的语法类似,如以下示例所示。

  1. SET AuditRequired = 1

  2. SET Priority = 'High', Severity = 1

Warning警告
每个匹配规则均产生所发布消息的一个单独副本,因此任何订阅都有可能产生同一消息的多个副本,每个匹配规则一个副本。

像队列一样,主题也支持竞争的使用者方案:在这种情况下,一个订阅可以有一个使用者来接收所有消息,也可以有一组竞争的使用者,它们将按先来先服务的原则提取消息。主题是用于向多个使用者广播消息的有用消息传递解决方案。

另请参阅

显示:
© 2014 Microsoft