消息正文上的 Azure 服务总线订阅筛选器

Posted

技术标签:

【中文标题】消息正文上的 Azure 服务总线订阅筛选器【英文标题】:Azure Service Bus Subscription Filter on message body 【发布时间】:2019-02-17 16:04:29 【问题描述】:

我想根据消息的内容创建订阅。这可能吗? 我试图摆脱必须添加自定义属性。

谢谢

【问题讨论】:

【参考方案1】:

这是不可能的。订阅只能基于标准(系统)和自定义(用户)属性进行过滤。如果body/payload中有数据需要参与过滤,则需要将其提升到header中。

【讨论】:

添加更多自定义标头是否会影响性能或成本?添加像 EventType 这样的自定义标头然后通过 EventType 过滤订阅也是一种好习惯吗? 对您的应用程序(添加自定义标头)和客户端(将 Message 转换为 AMQP 消息)的性能影响微不足道。除非您进行推广,使其占用最多 64KB 的标头并开始占用很高的空间。当涉及到业务需要过滤来自消息正文的值时,不要认为有其他选择。如果您担心这种情况下的性能下降,您可能需要重新评估您选择的服务的使用情况。对于企业消息传递,我认为与其提供的价值相比,这不会产生重大影响。

以上是关于消息正文上的 Azure 服务总线订阅筛选器的主要内容,如果未能解决你的问题,请参考以下文章

Azure 服务总线主题订阅者接收订单

使用订阅的 Azure 服务总线队列

同一消息的多个订阅者 Rebus Azure 服务总线

Azure 服务总线有序处理消息

Azure 服务总线 http 与 websocket

Service Fabric Actor 订阅 Azure 服务总线主题